我正在制作一个短信发送网站,并使用Gammu作为我的本地SMS网关,它在我的本地主机上运行良好,我使用的php代码是:
echo shell_exec('"C:\Gammu\bin\gammu.exe" --sendsms TEXT +'.$row["mobilenum"].' -text '.$message.'');
现在,当我开始将网站放到云端时,我该如何执行呢?我正在使用一个窗口为我的短信服务器。
还有其他方法可以链接云和本地主机来执行gammu命令吗?
发布于 2017-10-21 00:35:07
在云服务器上将shell_exec()调用为gammu.exe将工作,因为您没有电话连接。
而不是从云托管的网站调用shell_exec(),您需要通过HTTP向能够这样做的服务发出请求。
最简单的方法是使用类似于Twillio.com的东西
或者,您也可以在本地网络上公开一个简单的HTTP,该API可供云服务器发布。
您需要本地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代理:)
https://stackoverflow.com/questions/46860437
复制