【发布时间】:2020-09-23 22:47:47
【问题描述】:
我正在开发一个 Web 应用程序来管理我的星号服务器(添加扩展程序、添加管理客户端的上下文等。)我正在使用 PHP、Mysql 来执行此操作,我使用数据库来添加客户端,但用于扩展,我还是用extensions.conf这个文件。 假设我从 web 应用程序中向 extensions.conf 文件添加了许多扩展,接下来我应该重新加载拨号计划,我知道的唯一方法是在 Asterisk CLI 中输入以下命令:
dialplan reload
所以如果我想从网络应用重新加载拨号方案,我应该在某个地方运行:
shell_exec ( "asterisk -rx 'dialplan reload'" );
问题是这个命令asterisk -rx 需要root 权限。
有没有办法让 apache 用户运行这个命令。
编辑:
这是我的 /etc/asterisk/asterisk.conf 文件的内容
[directories](!)
astetcdir => /etc/asterisk
astmoddir => /usr/lib/asterisk/modules
astvarlibdir => /var/lib/asterisk
astdbdir => /var/lib/asterisk
astkeydir => /var/lib/asterisk
astdatadir => /var/lib/asterisk
astagidir => /var/lib/asterisk/agi-bin
astspooldir => /var/spool/asterisk
[options]
astrundir => /var/run/asterisk
astlogdir => /var/log/asterisk
astsbindir => /usr/sbin
runuser = asterisk ; The user to run as. The default is root.
rungroup = asterisk ; The group to run as. The default is root
【问题讨论】: