我正在尝试在Windows XP命令行下运行PHP。
尽管可以运行,但是我无法向PHP脚本提供参数。
我的测试案例:
echo "param = " . $param . "\n";
var_dump($argv);
我想称之为:
php.exe -f test.php -- param=test
但我从未成功让脚本接受我的参数。
上面的脚本运行结果是:
PHP提示:C:\test.php第2行未定义变量:param
param = ''
array(2) {
[0]=> string(8) "test.php"
[1]=> string(10) "param=test"
}
我正在尝试使用PHP 5.2.6。这是PHP 5的一个bug吗?
参数传递在在线帮助中有详细说明:
注意:如果您需要向脚本传递参数,您需要在使用-f开关时将--作为第一个参数传递。
这在PHP 4下似乎可以工作,但在PHP 5下不行。
在PHP 4下,我可以使用相同的脚本,在服务器上运行而无需更改就能在命令行上运行。这对于本地调试非常方便,例如将输出保存到文件中以供研究。
getopt()
在Windows上不起作用(OP正在使用Windows)。 - Robert Penridge