如何从云到我的localhost执行shell_exec命令

时间:2017-10-21 05:44:37

标签: php localhost cloud gammu

我正在发送短信发送网站,即时通讯使用Gammu作为我的本地短信网关,它在我的localhost基础上运行正常我使用的PHP代码:

echo shell_exec('"C:\Gammu\bin\gammu.exe" --sendsms TEXT +'.$row["mobilenum"].' -text '.$message.'');

现在,当我开始将网站放在云端时,我该如何执行此操作?我正在使用基于我的SMS服务器的窗口。

还有其他方法可以将云和localhost链接到执行gammu命令吗?

1 个答案:

答案 0 :(得分:0)

在云端服务器上调用shell_exec()到gammu.exe,因为你没有电话连接而无法工作。

您不需要从云托管网站调用shell_exec(),而是需要通过HTTP向可以执行此操作的服务发出请求。

最简单的方法是使用像Twillio.com这样的东西

或者,您也可以在本地网络上公开一个简单的HTTP API,可以访问云服务器以进行POST。

您需要在本地Gammu服务器上使用静态IP,并在防火墙中打开相应的端口。

例如:

POST http://100.22.33.11/sms?number=82736164617&text=Hello%20World

或JS

$.post('http://100.22.33.11/sms',{
  number: '82736164617',
  text: 'Hello World'
})

当然,您还需要添加一些身份验证(通过SSL),以避免成为开放的SMS代理:)