在本地wamp设置中通过批处理文件中的url传递php变量

在本地wamp设置中通过批处理文件中的url传递php变量,php,windows-7,cmd,Php,Windows 7,Cmd,环境:Windows7、PHP5.3.13、Apache2.2.22(WAMP) 在当地工作 访问外部web服务 我试图通过批处理命令提示符中的URL在PHP中分配一个全局变量来调用web服务。请参见以下批处理行: 开始/b“C:\wamp\bin\php\php5.3.13\php.exe”-q“C:\wamp\www\test\scripts\apiTest.php?itemID=%1”>API\u日志%dtStamp%.txt 使用实际项目ID运行此bat文件时: C:\wamp\www\

环境:Windows7、PHP5.3.13、Apache2.2.22(WAMP) 在当地工作 访问外部web服务

我试图通过批处理命令提示符中的URL在PHP中分配一个全局变量来调用web服务。请参见以下批处理行:

开始/b“C:\wamp\bin\php\php5.3.13\php.exe”-q“C:\wamp\www\test\scripts\apiTest.php?itemID=%1”>API\u日志%dtStamp%.txt

使用实际项目ID运行此bat文件时: C:\wamp\www\test\scripts\apiTest.bat 1234567

我得到一个未定义的索引错误,并且找不到匹配的404。在检查HTTP数据包时,我注意到URL已删除(从未收到)我在执行字符串中指定的itemID。HTTP信息: 标识信息(此处)/items.xml

我完全可以直接从cmd/batch访问带有参数的特定url,并且我已经直接将变量键入url,并在浏览器中毫无问题地执行了这个过程


我怀疑不可能使用参数将api url直接发送到php可执行文件。id号没有正确追加,甚至根本没有追加。有什么想法吗

与其像GET请求一样发送,不如使用以下命令:

start /b "C:\wamp\bin\php\php5.3.13\php.exe" -q "C:\wamp\www\test\scripts\apiTest.php %1" > API_Log%dtStamp%.txt
然后使用argv变量访问该数据

echo $argv[1];
因此运行
C:\wamp\www\test\scripts\apiTest.bat 1234567
将响应
1234567

另外,为了以防万一,命令在
$argv[0]
中运行,我有时在输出脚本语法时使用它。例如:

echo "Syntax: {$argv[0]} [username]";

非常感谢乔丹!我稍微修改了您的批处理行(项目引用在报价之外,而不是在报价之内),但是$argv的建议是合理的,效果很好。非常感谢。