如何将变量传递给 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 做这个例子会是什么样子?
最佳答案
您不能在命令行上执行此操作,$_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
包含传递的参数数量。
关于Windows 任务计划程序中带有 $_GET 变量的 PHP 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18921581/