Compilation des extensions PECL statiquement dans PHP

Avertissement

PECL est obsolète. L'installeur d'extensions pour PHP (PHP Installer for Extensions - PIE) remplace PECL et est recommandé pour installer les extensions. Plus d'informations sur » https://github.com/php/pie

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
1
anthon at piwik dot org
14 years ago
Some extensions cannot be statically linked (e.g., xdebug).
To Top