Si va a hacer PHP en la línea de comandos, le recomiendo que instale phpsh, a decent PHP shell. Es mucho más divertido.
De todos modos, el comando php ofrece dos interruptores para ejecutar código desde la línea de comandos:
-r <code> Run PHP <code> without using script tags <?..?>
-R <code> Run PHP <code> for every input line
Usted puede utilizar de -r cambiar como tal php:
php -r 'echo function_exists("foo") ? "yes" : "no";'
Lo anterior El comando PHP anterior debe salidano
y devuelve0
como se puede ver:
>>> php -r 'echo function_exists("foo") ? "yes" : "no";'
no
>>> echo $? # print the return value of the previous command
0
Otro interruptor curioso es php -a:
-a Run as interactive shell
Es especie de cojos en comparación con phpsh, pero si usted no desea instalar the awesome interactive shell for php made by facebook to get tab completion, history, and so on, luego use -a como tal:
>>> php -a
Interactive shell
php > echo function_exists("foo") ? "yes" : "no";
no
php >
Si no funciona en su caja como en mi caja * es * (probado en Ubuntu y Arch), entonces probablemente su configuración PHP es borrosa o roto. Si ejecuta este comando:
php -i | grep 'API'
Usted debe ver:
Server API => Command Line Interface
Si no, esto significa que tal vez otro comando se proporciona la CLI SAPI. Pruebe php-cli, tal vez sea un paquete o un comando disponible en su sistema operativo.
Si lo hace ver que su comando php utiliza la CLI (Command Line Interface) SAPI (Server API), a continuación, ejecutar php -h | grep code
a averiguar interruptor que loco - ya que esto no ha cambiado para año- permite para ejecutar código en su versión/instalación.
Otro par de ejemplos, sólo para asegurarse de que funciona en mis cajas:
>>> php -r 'echo function_exists("sg_load") ? "yes" : "no";'
no
>>> php -r 'echo function_exists("print_r") ? "yes" : "no";'
yes
Además, tenga en cuenta que es posible que una extensión se carga en la línea de comandos y no en el CGI o Apache SAPI.Es probable que varias SAPI de PHP utilicen diferentes archivos php.ini, p. /etc/php/cli/php.ini
vs /etc/php/cgi/php.ini
contra /etc/php/apache/php.ini
en una caja de Gentoo. Averigüe qué archivo ini se utiliza con php -i | grep ini
.
haciendo funcionar_existencia() sin usar ningún otro archivo que contenga la función definida por el usuario no va a ser muy útil, excepto para probar la versión de PHP, que puede encontrar de otras maneras. ¿Para qué función quieres probar? –
Estoy buscando la prueba de esta función: sg_load() – Steve
¿Parece que lo que realmente quiere es averiguar si la extensión sourceguardian php está habilitada? –