我在ubuntu 11中成功安装了gammu,并使用命令行发送短信
echo "TEXTMESSAGE"
| gammu sendsms TEXT mobilenumber
我的问题是,当我在我的php脚本中使用exec函数时,我总是有以下错误:
Warning: No configuration file found!
Warning: No configuration read, using builtin defaults!
Error opening device, it doesn't exist.
感谢您的帮助
答案 0 :(得分:0)
您缺少.gammurc,默认设置无法检测到您的设备。 尝试运行gammu-detect。它应该说出
的内容[gammu]
device = /dev/ttyUSB0
name = Phone on USB serial port HUAWEI_Technology HUAWEI_Mobile
connection = at
如果不起作用,请运行gammu-config并手动设置端口和连接。
答案 1 :(得分:0)
刚刚解决了类似的麻烦。在我的情况下,gammu是在nagios用户下执行的,因此在我将它放入/ etc / gammurc之前无法找到配置文件。 根据Linux,MacOS X,BSD和其他类Unix系统上的gammu documentation,配置文件按以下顺序搜索:
我的文件位于/home/user/.gammurc,但当我在nagios用户下执行时,“〜”是一个不同的目录,因此gammu无法找到它。
现在权限:
为了让您的用户能够访问/dev/ttyUSB0
(使用您的路径),您应该将nagios
(在您的情况下为www-data
或其他任何用户)用户添加到dialout
组方式:
sudo usermod -a -G dialout nagios
然后在gammu
上设置SUID位以允许nagios
(在您的情况下为www-data
)代表根执行它:
sudo chmod 4755 /usr/bin/gammu
尝试代表root执行gammu
(您可以使用su
命令)
希望它会有用。
答案 2 :(得分:0)
您可以通过以下方式更改.gammurc的路径:
复制位于根目录上的文件(.gammurc)并将其从/ etc。
上移过cp .gammurc / etc / gammurc
别忘了删除圆点。 我用它覆盆子Pi,gammu目录可能会改变你的环境