【问题标题】:Execute a Batch File (.bat) from a PHP script从 PHP 脚本执行批处理文件 (.bat)
【发布时间】:2016-03-08 03:23:57
【问题描述】:

我有一个从加密狗发送短信的 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.

有什么办法可以实现吗?

【问题讨论】:

  • 你可以把所有代码放在php的bat文件中

标签: php windows batch-file scheduled-tasks


【解决方案1】:

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

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

【讨论】:

  • 我做了更改,但没有成功。当我在命令提示符下尝试使用直接命令时,它没有返回任何内容。
  • 那么很抱歉,我无法提供更多建议。 :)
猜你喜欢
  • 2023-04-10
  • 1970-01-01
  • 1970-01-01
  • 2011-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-09
  • 2023-03-30
相关资源
最近更新 更多