Some extensions cannot be statically linked (e.g., xdebug).
In manchen Fällen kann es nötig sein, eine PECL-Erweiterung statisch in das
PHP-Binary zu kompilieren. Dazu muss der Quellcode der Erweiterung in das
Verzeichnis /pfad/zu/php/src/
einfügt werden und das
PHP-Build-System angewiesen werden, sein configure-Skript neu zu erstellen.
$ cd /pfad/zu/php/src/ext $ pecl download extname $ gzip -d < extname.tgz | tar -xvf - $ mv extname-x.x.x extname
Dadurch wird das folgende Verzeichnis erstellt:
/pfad/zu/php/src/ext/extname
An dieser Stelle muss PHP veranlasst werden, das configure-Skript neu zu erstellen, und anschließend kann PHP gebaut werden wie gewohnt:
$ cd /pfad/zu/php/src/ $ rm configure $ ./buildconf --force $ ./configure --help $ ./configure --with-extname --enable-someotherext --with-foobar $ make $ make install
Hinweis: Um das Skript buildconf auszuführen, werden autoconf
2.68
und automake benötigt. Neuere Versionen von autoconf könnten funktionieren, werden aber nicht unterstützt.
Ob --enable-extname oder --with-extname verwendet wird, hängt von der Erweiterung ab. Bei einer Erweiterung, die keine externen Bibliotheken benötigt, wird in der Regel --enable verwendet. Um sicher zu sein, kann nach buildconf folgender Befehl ausgeführt werden:
$ ./configure --help | grep extname