Linux — Asterisk не удалось выполнить «/usr/share/asterisk/agi-bin/call_handle.php»: разрешение отклонено

Сервер: Убунто

Звездочка Версия: 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 пользователь

1

Решение

Вероятно, проблема связана с тем, что файл (‘/usr/share/asterisk/agi-bin/call_handle.php’) не попадает в группу пользователей демона Asterisk, которая называется asterisk: asterisk

То есть демон Asterisk должен обладать этим файлом.

Во-вторых, существует также вероятность того, что пользователь, который на самом деле запускает этот демон Asterisk, не имеет разрешения на выполнение этого демона. Он должен быть там.

3

Другие решения

Я получил ответ сам:
Установите PHP Envirement в моем PHP-скрипте, и он будет запускаться звездочкой.

Я установил следующее в моем php-файле в первой строке:

#!/usr/bin/env php

Reff: PHPAGI: ошибка формата Exec

2

Сначала убедитесь, что файл может быть выполнен

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

После этого убедитесь, что selinux не включен или правильно настроен

Отключить selinux на Centos / Redhat

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

После этого нужно перезагрузиться

0
По вопросам рекламы [email protected]