3

Windowsタスクスケジューラでphpスクリプトに変数を渡すにはどうすればよいですか?

「アクション」のタスクスケジューラに次のように入力します。

プログラム/スクリプト: C:\php\php.exe

引数 C:\scripts\myscript.php?var1=1&var2=2

?var1=1&var2=2は、タスク スケジューラの php スクリプトに渡されません。ブラウザで vars を使用してスクリプトを呼び出すと、変数がスクリプトに正しく渡されます。

編集1

答えをよりよく理解するために

GET ich を使用したスクリプトでは、次のようにデータを取得します。

$varB = $_GET['B'];
$varC = $_GET['C'];
$varA = $_GET['A'];

URLで私はそれを次のように呼びます

?B=bbb&C=ccc&A=aaa

argv を使用すると、この例はどのようになりますか?

4

3 に答える 3

5

コマンドラインでこれを行うことはできません$_GET。 、$_POSTなどはすべて Web サーバーから構築されます。

あなたができることは、次のような適切なコマンドライン引数を使用することです:

C:\php\php.exe C:\scripts\myscript.php 1 2 "arg with space"

そして、$argv次のようにアクセスします:

$var1 = $argv[1]; // 1
$var2 = $argv[2]; // 2
$var3 = $argv[3]; // arg with space

わかりやすくするために、$argv[0]は常にスクリプトの名前です。

編集:さらに明確にするため$argc、渡された引数の数が含まれています。

于 2013-09-20T16:34:34.083 に答える
1

以下のような引数を PHP スクリプトに渡すことができます。

C:\Program Files\PHP\php.exe C:\scripts\script.php arg1 arg2

script.php 内では、$argv以下のように使用して アクセスできます。

for ($i = 0; $i < count($argv); $i++) {
    echo "$i: {$argv[$i]}\n";
}
于 2013-09-20T16:34:27.433 に答える
0

php-cgi がある場合は、次のようなものを試すことができます。

\xampp\php\php-cgi \scripts\myscript.php -- var1=1&var2=2
于 2013-09-20T16:39:50.530 に答える