Подтвердить что ты не робот

Вызвать функцию php из командной строки

У меня есть файл address.php с несколькими функциями. Я хочу вызвать определенную функцию в этом файле из командной строки, как? Имя функции называется exportAddress, и эта функция ожидает единственный параметр

4b9b3361

Ответ 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 ...