从PHP脚本执行批处理文件(.bat)

时间:2016-03-08 03:23:58

标签: php windows batch-file scheduled-tasks

我有一个PHP代码,可以从加密狗发送短信。它只需要两个参数;电话号码&消息并将其传递给.bat文件。

$phoneNo = +1234567890;

$SMSMesseage = "your message";
$SMSMsg = "\"$SMSMesseage\"";

exec("sendsms.bat $phoneNo $SMSMsg");

我正在使用Gammu工具配置并通过加密狗发送短信。所以.bat文件包含以下代码'

echo on
::
echo
::
cd C:\<installation_path>\Gammu 1.33.0\bin
set phnNo=%1
set msg=%2

gammu -c smsdrc
gammu -c smsdrc --sendsms TEXT %phnNo% -text %msg%

所以,我的问题是,当我通过网络浏览器访问sendSmsPhp.php时,它会毫无问题地发送短信。但是,当我尝试将其作为Windows任务调度程序时,它无法正常工作。

我尝试使用下面的命令直接通过命令提示符执行php脚本;

c:\<path_to_xampp>\xampp\php\php.exe -f c:\<path_to_xampp>\xampp\htdocs\LIMS_15\sendSmsPhp.php

但它会回来;

'sendsms.bat' is not recognized as an internal or external command, operable program or batch file.

有没有办法让它成为现实?

1 个答案:

答案 0 :(得分:0)

您需要告诉cmd运行批处理文件

exec("cmd sendsms.bat $phoneNo $SMSMsg");