web-dev-qa-db-ja.com

コマンドラインからphp関数を呼び出す

Address.phpというファイルにいくつかの関数が含まれています。コマンドラインからそのファイルの特定の関数を呼び出したいのですが、どうすればいいですか?関数の名前はexportAddressと呼ばれ、その関数は単一のパラメーターを予期します

33
Jack Smit

_-r_パラメーターを使用すると、スクリプトをインラインで実行できます。

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

他のオプションはありません。 PHPの関数は、PHPスクリプトによってのみ呼び出すことができます。

65
Tim S.

php -r 'include "/var/www/test/address.php";exportAddress(1);'

ここで_"/var/www/test/arr.php"_はパスを含むファイル名であり、exportAddress()はそのファイル内の関数です

3
user7282

これをファイル「/var/www/test/address.php」の先頭に追加します...

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

コマンドラインからexecute#> php /var/www/test/address.php exportAddress 12345

3
Simon Rodan

ファイル「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 ...
1
Samer Ata