0

別のphpファイルから呼び出さなければならなかったスクリプトで遊んでいます。file からupdate.php、最初に file を呼び出してスクリプトを開始する必要がありますserv.php。しかし、 が機能するためにserv.phpは、いくつかの引数を渡さなければなりませんでした。コマンドラインから起動serv.phpするコマンドは次のとおりです。

php c:\path_to_folder\serv.php run --argument1="some_text" --argument2="some_text" --port=some_port

update.phpserv.phpが同じフォルダにあると仮定した場合serv.php、 内から呼び出す方法はupdate.php?

4

4 に答える 4

1

serv.php の $argv を serv.php から update.php に送信します ( http://php.net/manual/en/reserved.variables.argv.phpを参照)。つまり、update.php には別の $argv があるため、別の名前の配列でコマンド ライン パラメータのリストを送信する必要があります。

于 2013-09-02T09:14:40.540 に答える
0
shell_exec("php c:\path_to_folder\serv.php some_text some_text some_port ");

通常はphp -forphp5-cliの代わりでphpあり、一部のサーバーは php フォルダーへのパスさえ必要としません。
これは私のクエリの 1 つです。

$ex=$setting[8]." ".dirname(__FILE__)."/sendmail.php NewMem ".$_SESSION['id']." ";
if(substr(php_uname(), 0, 7) == "Windows")
    pclose(popen("start /B ".$ex,"r")); /windows server
else
    shell_exec($ex." > /dev/null 2>/dev/null &");//Apache

ここ$setting[8]で、php -fまたははファイルへのパスで、その他は引数です。 渡された引数を取得するには、他のすべてのパラメーターを含むファイル パスを使用します。 各スペースは新しい引数を定義することに注意してくださいphp5-cli".dirname(__FILE__)."/sendmail.php
$argv$argv[0]

于 2013-09-02T09:26:43.427 に答える
0

呼び出し元の PHP スクリプト内で使用execまたはsystem呼び出します。PHP CLI のフル パス、つまり /user/bin/php など、サーバーに存在するパスに言及してください。

于 2013-09-02T09:14:45.453 に答える
0

関数を使用してシステム コマンドを実行できexecます。PHP exec() .

スクリプトserv.phpからページを呼び出すことができますupdate.php

exec('php c:\path_to_folder\serv.php run --argument1="some_text" --argument2="some_text" --port=some_port');
于 2013-09-02T09:15:39.153 に答える