2011-11-18 16 views
6

Estoy intentando cargar el cargador ioncube a través del archivo php-fpm.conf.¿Cuál es la forma correcta de cargar una extensión zend en php-fpm.conf?

Sé que probablemente se esté preguntando por qué no usé el php.ini, pero es un poco complicado y puede ver más de por qué aquí (Does each PHP-FPM Worker individually load php.ini?).

De todos modos, yo estoy cargando mis otras extensiones de este archivo (php-fpm.conf) utilizando la siguiente directiva en el php-fpm.conf:

php_admin_value[extension]=<extension_name>.so 

Así, por ejemplo, php_admin_value[extension]=apc.so cargas de la APC extension_dir (que se define en mi php.ini). Funciona bien y resuelve algunos problemas que tenía al definir extensiones a través de php.ini.

Sin embargo, el uso de la directiva zend_extension no funciona. Entonces, lo siguiente no parece funcionar

php_admin_value[zend_extension]=/usr/lib/php5/20090626/ioncube_loader_lin_5.3.so 

¿Hay algo que me falta? Apreciaría algo de ayuda.

Gracias de antemano.

+0

¿Qué dice el registro de error de Apache? –

+0

@JohnCartwright No estoy usando Apache, estoy usando NGINX. –

Respuesta

2

creo extensiones Zend sólo pueden ser cargados en el php.ini

+1

¿De verdad? No lo sabía. Creo que debería renunciar a usar Zend Guard Loader o IonCube Loader. En PHP-FPM causa un error fatal porque los trabajadores de PHP-FPM están intentando cargar los múltiplos de php.ini veces, y parece que no puedo encontrar la manera de solucionar la situación. Gracias. –

+0

¿No hay un archivo /etc/php5/fpm/php.ini en el que pueda cargarlo? – danielrsmith

+0

Recopilé PHP desde la fuente, así como todas las extensiones que necesitaba de PECL. No usé apt-get. Tengo un archivo php.ini pero cuando lo cargo allí, parece haber algún conflicto con php-fpm porque en php-fpm.conf lo tengo configurado para crear 5 trabajadores ... y no sé para claro, pero parece que cada grupo está tratando de cargar el php.ini, así que cuando reinicio php-fpm me dice que el módulo (zend loader) ya se ha cargado, y luego falla. –

2

sólo se puede definir un archivo PHP con el comando php-FPM

# copy php.ini, and enable all extensions here 
cp /etc/php5/php.ini /etc/php5/my-php.ini 
# copy fpm config and set a new pool dir 
cp /etc/php5/fpm/php-fpm.conf /etc/php5/fpm/php-fpm-my-config.conf 
# create a new pool conf and create a new start script 
php-fpm -c /etc/php5/my-php.ini --fpm-config /etc/php5/fpm/php-fpm-my-config.conf 

eso es todo :)

tenían la misma pregunta , por eso he respondido aquí ;-)

+0

Solución perfecta para mi caso de uso. Gracias – Blizz

Cuestiones relacionadas