2012-10-10 15 views
13

Comprobé man php y la salida de php -h, pero no parecía encontrar tal cosa.¿Es posible cargar una extensión desde la interfaz PHP cli, sin modificar el archivo ini?

Pero recuerdo haberlo visto en alguna parte, podrías hacer algo como php -Xabc.so script.php para cargar una extensión temporalmente.

¿Alguien sabe eso?

+0

¿por qué este enfoque frente a la forma 'regular'? –

+2

@Dagon: a menudo no tiene sentido cargar algún módulo exótico para todos los scripts si solo es requerido por uno de ellos. Entonces, quizás es más fácil cargarlo explícitamente – zerkms

+0

¿no se cargan una vez en el arranque, por lo que no hay una sobrecarga real? –

Respuesta

19

Cargando una extensión regular a través de CLI se hace con:

php -dextension=abc.so myfile.php 

Si su extensión no está en la ruta predeterminada también puede proporcionar una ruta absoluta:

php -dextension=/path/to/abc.so myfile.php 

Para cargar una extensión Zend, que había aconsejable pasar siempre a una ruta absoluta:

php -dzend_extension=/path/to/abc.so myfile.php 
+0

Ah, se olvidó de que "extensión zend" es un tipo de extensión diferente: -S +1 – zerkms

+0

Hmm, aún tengo que copiar eso para '/ usr/lib/php/modules /', de todos modos para evitar copiar? – daisy

+0

@ warl0ck También debería poder dar una ruta absoluta, es decir '-dextension =/path/to/extension.so'. –

1

http://php.net/manual/en/features.commandline.options.php

-z <file>  Load Zend extension <file>. 

encontré por google para "php extensión de carga de línea de comandos"

+0

'modules/abc.so no parece ser una extensión Zend válida', así que supongo que una extensión zend no es una extensión php? – daisy

+0

@ warl0ck: eso depende. Algunas extensiones son extensiones Zend, como xdebug – zerkms

0

para desactivar todos por defecto (al ignorar php.ini) y especifique las extensiones PHP específicas, tratar:

php -n $(for e in curl ctype json iconv; { echo -dextension=$e.so; } | xargs) -m 

Para ejecutar la secuencia de comandos, cambie -m en nombre de archivo.

Cuestiones relacionadas