2011-06-24 17 views
6

He intentado crear alguna extensión de php.Cómo compilar la extensión de PHP para PHP 5.3.6 con depuración, TS

Para la primera compilé php 5.3.6 con --enable-debug --enable-maintainer-zts. Entonces ceated mi extensión y el uso procedimiento standart para ello

phpize 
./configure --with-EXTNAME 
make 

luego copiar extname.so a mi directorio de extensiones de PHP, y cambiar php.ini

Y cuando trato de usar PHP desde la CLI me dio un error

Unable to initialize module 
Module compiled with build ID=API20090626,NTS 
PHP compiled with build ID=API20090626,TS,debug 

Cuando intento

./configure --enable-debug --enable-maintainer-zts 

Para la extensión recibí una advertencia de que el script de configuración no reconoce estas opciones.

Entonces, ¿cómo puedo compilar mi extensión para usar con PHP compilado con las opciones que describo arriba sin volver a compilar php?

Respuesta

6

Necesita ./configure --with-php-config=/path/to/correct/php-config.

Es probable que la secuencia de comandos configure use otra php-config (probablemente la instalada centralmente).

+0

Oh ... Y donde puede encontrar PHP-derecha config? Supongo que está cerca del php en el directorio bin, ¿estoy en lo cierto? – krasilich

+0

@kra sí, correcto – Artefacto

+0

Parece que todo funciona, ¡gracias! – krasilich

0

en mi servidor hay 2 phpize

/usr/bin/php/phpize 
    /usr/bin/php-zts/phpize 

para asegurarse de que compila con hilo de seguridad en lugar de utilizar "phpize" hacer

/usr/bin/php-zts/phpize 
./configure --with-php-config=/usr/bin/php-zts/php-config 
make 
make install 
+0

Nota: solo seleccionar el phpize correcto no es suficiente: --with-php-config es obligatorio también. – Dereckson