我正在尝试通过 php.exe 在 Windows 上执行 PHP 脚本,同时将参数传递给脚本。我到处看,它说它应该像这样工作:
php -f "path\to\my\script.php" -- -t 10 -i 5
-t 10 -i 5 应该传递给 script.php,我可以在其中通过 $argv 访问它们。当我在命令行上输入这个时,一切都按预期运行。当我将同一行粘贴到 .cmd 文件中时, script.php 之后的部分被视为单独的命令。(是的,它是批处理文件中的一行)
C:\>php -f "path\to\my\script.php" -- -t 10 -i 5
<<<output of the php script as expected>>>
C:\>mybatch.cmd
C:\>php -f "path\to\my\script.php"
<<<output of the php script not receiving the parameters>>>
C:\>-- -t 10 -i 5
'--' is not recognized as an internal or external command, operable program or batch file.
我首先认为这可能是--的问题,但即使我省略了--(基本上将其他参数传递给php.exe而不是脚本),也会出现同样的问题。
关于为什么会发生这种情况的任何想法?