我正在发送短信发送网站,即时通讯使用Gammu作为我的本地短信网关,它在我的localhost基础上运行正常我使用的PHP代码:
echo shell_exec('"C:\Gammu\bin\gammu.exe" --sendsms TEXT +'.$row["mobilenum"].' -text '.$message.'');
现在,当我开始将网站放在云端时,我该如何执行此操作?我正在使用基于我的SMS服务器的窗口。
还有其他方法可以将云和localhost链接到执行gammu命令吗?
答案 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代理:)