Compilation des extensions PECL statiquement dans PHP

Il peut ĂȘtre nĂ©cessaire de construire une extension PECL statiquement dans le binaire PHP. Pour ce faire, les sources de l'extension doivent ĂȘtre placĂ©es dans le rĂ©pertoire /path/to/php/src/dir/ext/, et le systĂšme de compilation de PHP doit rĂ©gĂ©nĂ©rer son script de configuration.

$ cd /path/to/php/src/dir/ext
$ pecl download extname
$ gzip -d < extname.tgz | tar -xvf -
$ mv extname-x.x.x extname

Cela générera le dossier suivant :

/path/to/php/src/dir/ext/extname

À partir de lĂ , PHP doit ĂȘtre forcĂ© Ă  reconstruire le script de configuration, et ensuite il peut ĂȘtre construit normalement :

$ cd /path/to/php/src/dir
$ rm configure
$ ./buildconf --force
$ ./configure --help
$ ./configure --with-extname --enable-someotherext --with-foobar
$ make
$ make install

Note: Pour exécuter le script buildconf, autoconf 2.68 et automake 1.4+ seront nécessaires. Les versions plus récentes de autoconf peuvent fonctionner mais ne sont pas supportées.

L'utilisation de --enable-extname ou --with-extname dépend de l'extension. En général, une extension qui ne nécessite pas de bibliothÚques externes utilise --enable. Pour s'en assurer, exécuter la commande suivante aprÚs buildconf :

$ ./configure --help | grep extname
add a note

User Contributed Notes 1 note

up
3
anthon at piwik dot org ¶
13 years ago
Some extensions cannot be statically linked (e.g., xdebug).