У меня есть файл с именем address.php с несколькими функциями. Я хочу вызвать определенную функцию в этом файле из командной строки, как? Имя функции называется exportAddress, и эта функция ожидает один параметр
Используя параметр -r
вы можете запустить скрипт в строке.
php -r "require 'address.php'; exportAddress(12345);"
Других вариантов нет. Функция PHP может быть вызвана только скриптом PHP.
Добавьте это в начало файла «/var/www/test/address.php» …
foreach ($argv as $i=>$arg ) { if ( $arg == "exportAddress" ) { exportAddress($argv[$i+1]); } }
затем из командной строки выполните #> php /var/www/test/address.php exportAddress 12345
php -r 'включает "/var/www/test/address.php";exportAddress(1);'
где "/var/www/test/arr.php"
– это имя файла, включая path, а exportAddress()
– это функция внутри этого файла
вы можете сделать свой файл «somefile.php» организованным следующим образом:
function func1(){....} function func2(){....} function func3(){....} .... foreach ($argv AS $arg){ function_exists($arg) AND call_user_func($arg); }
Затем из командной строки или Linux cronjob вы запускаете следующую команду
php /path/to/somefile.php arg1 arg2 arg3 ...