PHP 8.5.0 Beta 2 available for testing

Compilación de extensiones PECL compartidas con phpize

A veces, usar el instalador pecl no es una opción. Esto podría deberse a que hay un firewall o porque la extensión que se está instalando no está disponible como un paquete compatible con PECL, como extensiones no publicadas de git. Si es necesario compilar dicha extensión, se pueden usar las herramientas de compilación de bajo nivel para realizar la compilación manualmente.

El comando phpize se utiliza para preparar el entorno de compilación para una extensión PHP. En el siguiente ejemplo, los fuentes de una extensión están en un directorio llamado extname:

$ cd extname
$ phpize
$ ./configure
$ make
# make install

Una instalación exitosa habrá creado extname.so y lo habrá colocado en el directorio de extensiones de PHP extensions directory. El php.ini deberá ajustarse y se deberá añadir una línea extension=extname.so antes de que la extensión pueda usarse.

Si el sistema no tiene el comando phpize, y se usan paquetes precompilados (como RPMs), asegúrese de instalar también la versión de desarrollo adecuada del paquete PHP, ya que a menudo incluyen el comando phpize junto con los ficheros de cabecera adecuados para compilar PHP y sus extensiones.

Ejecute phpize --help para mostrar información adicional de uso.

add a note

User Contributed Notes 2 notes

up
70
Brian
17 years ago
If you have multiple PHP versions installed, you may be able to specify for which installation you'd like to build by using the --with-php-config option during configuration.

--with-php-config=[Insert path to proper php-config here]

For example (my case):
./configure --with-php-config=/usr/local/php5/bin/php-config5
up
7
admin at eexit dot net
13 years ago
When compiling an extension for a stack which is 64 bits (for example) and your compiler is configured to compile in 32 bits, you can manually compile your extensions using C flags before your configure.

Example: my system compiler is 32 bits and my stack is 64 bits. To compile my xdebug:

# phpize
# CFLAGS=-m64 CPPFLAGS=-m64 CCASFLAGS=-m64 ./configure --enable-xdebug
# gmake
# file modules/xdebug.so
modules/xdebug.so: ELF 64-bit LSB dynamic lib AMD64 Version 1, dynamically linked, not stripped, no debugging information available
To Top