У меня есть файл address.php с несколькими функциями. Я хочу вызвать определенную функцию в этом файле из командной строки, как? Имя функции называется exportAddress, и эта функция ожидает единственный параметр
Вызвать функцию php из командной строки
Ответ 1
Используя параметр -r
, вы можете запустить script в строке.
php -r "require 'address.php'; exportAddress(12345);"
Других вариантов нет. Функция в PHP может быть вызвана только PHP script.
Ответ 2
Добавьте это в начало файла "/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
Ответ 3
php -r 'include "/var/www/test/address.php";exportAddress(1);'
где "/var/www/test/arr.php"
- это имя файла, включая путь, а exportAddress()
- это функция внутри этого файла
Ответ 4
вы можете сделать свой файл "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 ...