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 add a note

User Contributed Notes 1 note

up
2
anthon at piwik dot org
12 years ago
Some extensions cannot be statically linked (e.g., xdebug).
To Top