星号 无法执行“/usr/share/asterisk/agi-bin/call_handle.php”:权限被拒绝


Asterisk Failed to execute '/usr/share/asterisk/agi-bin/call_handle.php': Permission denied

服务器: Ubunto

星号版本:11.x

目录:/usr/share/asterisk/agi-bin/文件: call_handle.php

目录权限:755根根文件权限:755根根

星号.conf

astagidir => /usr/share/asterisk/agi-bin

扩展.conf

same  => n,AGI(call_handle.php)

当我拨打任何号码时,此AGI PHP脚本正在运行。但是,它会在星号控制台中给我此消息。

Asterisk Failed to execute '/usr/share/asterisk/agi-bin/call_handle.php': Permission denied

我不确定为什么会出现这条消息。它具有用户的执行权限

可能的问题似乎与文件('/usr/share/asterisk/agi-bin/call_handle.php')不属于星号:星号守护程序的用户组

有关

也就是说 - Asterisk 守护进程应该拥有这个文件的所有权。

其次,还有一种可能性是,实际运行此Asterisk守护程序的用户没有此守护程序的执行权限。它应该在那里。

我自己得到了答案:在我的php脚本中设置PHP Envirement,它将以星号运行。

我在第一行的 php 文件中设置了以下内容:

#!/usr/bin/env php

Reff:PHPAGI:执行格式错误

首先确保文件可以执行

chmod a+x /usr/share/asterisk/agi-bin/call_handle.php

之后,检查 selinux 是否未启用或设置正确

在 Centos/Redhat 上禁用 selinux

 echo "SELINUX=disabled" > /etc/sysconfig/selinux 

之后需要重新启动