PHP Conference Kansai 2025

Compilación de extensiones PECL estáticamente en PHP

Puede ser necesario construir una extensión PECL estáticamente en el binario PHP. Para ello, las fuentes de la extensión deben ser colocadas en el directorio /path/to/php/src/dir/ext/, y el sistema de compilación de PHP debe regenerar su script de configuración.

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

Esto generará el siguiente directorio:

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

A partir de aquí, PHP debe ser forzado a reconstruir el script de configuración, y luego puede ser construido normalmente:

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

Nota: Para ejecutar el script buildconf, autoconf 2.68 y automake 1.4+ serán necesarios. Las versiones más recientes de autoconf pueden funcionar pero no son soportadas.

El uso de --enable-extname o --with-extname depende de la extensión. En general, una extensión que no requiere bibliotecas externas utiliza --enable. Para asegurarse, ejecute el siguiente comando después de buildconf:

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

User Contributed Notes 1 note

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