Problem:
Beim Installieren von zusätzlichen Extensions für PHP per PECL kommt:
Configuring for:
PHP Api Version: 20020918
Zend Module Api No: 20020429
Zend Extension Api No: 20050606
ERROR: `phpize' failed
Ein anderes Problem kommt evtl. auch mal vor:
Package "channel://pecl.php.net/imagick" is not valid
Lösung:
Wir gehen den Weg eben mit der Hand (hier zum Beispiel pdflib):
# Erstmal auf http://pecl.php.net/package-search.php nach entsprechendem Paket suchen.
cd /usr/local/src
wget http://pecl.php.net/get/pdflib-2.1.3.tar
tar xf pdflib-2.1.3.tar
cd pdflib-2.1.3/
phpize
./configure
make
make install
echo "extension=pdf.so" >>/etc/php.ini
Weitere Probleme:
could not read symbols: File in wrong format
Speziell bei o.g. imagick
kam zusätzlich der Fehler:
/usr/lib/libbz2.so: could not read symbols: File in wrong format
Die betraf einen x64-CPU und es wurde falscher weise die Library aus /usr/lib/
genutzt statt der echten aus /usr/lib64/
. Die Lösung war im Makefile
nach ./configure
die Reihenfolge der Include-Pfade in IMAGICK_SHARED_LIBADD
umzustellen.
ThrowMagickExceptionList: Assertion...
Speziell beI imagick in der momentan sichersten Version 0.9.13 kam noch das Problem dazu, daß die Extension zwar ohne Probleme funktionierte, aber ein phpinfo()
(bzw. php -i
) einen Fehler auswarf:
httpd2-prefork: magick/exception.c:845: ThrowMagickExceptionList:
Assertion `exception->signature == 0xabacadabUL' failed.
Der Fehler ist ein Programmierfehler. Dazu muß die Datei imagick.c
in der Zeile 731 um folgende Zeile ergänzt werden:
GetExceptionInfo(&exception); //dies ist die neue Zeile
magick_info = GetMagickInfoList("*", &number_formats, &exception);
Danach beim make
weitermachen.