Сервер: Убунто
Звездочка Версия: 11.x
Каталог: / usr / share / звездочка / agi-bin /
Файл: call_handle.php
Разрешение каталога: 755 root root
Разрешение файла: 755 root root
asterisk.conf
astagidir => /usr/share/asterisk/agi-bin
extensions.conf
same => n,AGI(call_handle.php)
Когда я набираю любой номер, запускается скрипт AGI PHP.
Но, это даст мне это сообщение в консоли звездочки.
Asterisk Failed to execute '/usr/share/asterisk/agi-bin/call_handle.php': Permission denied
Я не уверен, почему это сообщение появляется. Она имеет выполнять разрешение с ROOT пользователь
Вероятно, проблема связана с тем, что файл (‘/usr/share/asterisk/agi-bin/call_handle.php’) не попадает в группу пользователей демона Asterisk, которая называется asterisk: asterisk
То есть демон Asterisk должен обладать этим файлом.
Во-вторых, существует также вероятность того, что пользователь, который на самом деле запускает этот демон Asterisk, не имеет разрешения на выполнение этого демона. Он должен быть там.
Я получил ответ сам:
Установите PHP Envirement в моем PHP-скрипте, и он будет запускаться звездочкой.
Я установил следующее в моем php-файле в первой строке:
#!/usr/bin/env php
Reff: PHPAGI: ошибка формата Exec
Сначала убедитесь, что файл может быть выполнен
chmod a+x /usr/share/asterisk/agi-bin/call_handle.php
После этого убедитесь, что selinux не включен или правильно настроен
Отключить selinux на Centos / Redhat
echo "SELINUX=disabled" > /etc/sysconfig/selinux
После этого нужно перезагрузиться