在php-exec中使用gammu时出错



我成功地在ubuntu 11中安装了gammu,并使用命令行发送了文本消息
echo "TEXTMESSAGE"|gammu发送文本手机号码

我的问题是,当我在php脚本中使用exec函数时,我总是会出现以下错误:

Warning: No configuration file found!
Warning: No configuration read, using builtin defaults!
Error opening device, it doesn't exist.

感谢的帮助

您缺少.gammurc,默认情况下无法检测到您的设备。尝试运行gammu detect。它应该说一些类似的东西

[gammu]
device = /dev/ttyUSB0
name = Phone on USB serial port HUAWEI_Technology HUAWEI_Mobile
connection = at

如果不起作用,请运行gammu-config并手动设置端口和连接。

刚刚解决了类似的问题。在我的例子中,gammu是在nagios用户下执行的,所以在我把它放在/etc/gammurc中之前,它无法找到配置文件。根据Linux、MacOSX、BSD和其他类似Unix系统上的gammu文档,配置文件按以下顺序搜索:

  1. $XDG_CONFIG_HOME/gamu/CONFIG
  2. ~/.config/gammu/config
  3. ~/.gammurc
  4. /etc/gammurc

我的文件在/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命令)希望它有用。

您可以通过以下操作更改.gammurc的路径:

复制位于根目录上的文件(.gammurc),然后在/etc上通过它。

cp.gammurc/etc/gammurc

别忘了去掉圆点。我使用它树莓Pi,gammu的目录可能会在您的环境上更改

相关内容

  • 没有找到相关文章

最新更新