Llamar a una función php desde la línea de comando

Tengo un archivo llamado address.php con algunas funciones en él. Quiero llamar a una función específica en ese archivo desde la línea de comandos, ¿cómo? El nombre de la función se llama exportAddress y esa función espera un único parámetro

Al usar el parámetro -r puede ejecutar un script en línea.

php -r "require 'address.php'; exportAddress(12345);"

No hay otras opciones. Una función en PHP solo puede invocarse mediante un script PHP.

Agregue esto a la parte superior del archivo “/var/www/test/address.php” …

 foreach ($argv as $i=>$arg ) { if ( $arg == "exportAddress" ) { exportAddress($argv[$i+1]); } } 

luego desde la línea de comando ejecuta #> php /var/www/test/address.php exportAddress 12345

php -r ‘include “/var/www/test/address.php”;exportAddress(1);’

donde "/var/www/test/arr.php" es el nombre del archivo, incluida la ruta y exportAddress() es la función dentro de ese archivo

puedes hacer que tu archivo “somefile.php” esté organizado de la siguiente manera:

 function func1(){....} function func2(){....} function func3(){....} .... foreach ($argv AS $arg){ function_exists($arg) AND call_user_func($arg); } 

Luego, desde la línea de comandos o el cronjob de Linux, ejecuta el siguiente comando

 php /path/to/somefile.php arg1 arg2 arg3 ...