1

サーバー: うぶんと

アスタリスク バージョン: 11.x

ディレクトリ: /usr/share/asterisk/agi-bin/ ファイル: call_handle.php

ディレクトリ権限: 755 root root ファイル権限: 755 root root

アスタリスク.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

このメッセージが表示される理由がわかりません。ROOTユーザーで実行権限を持っている

4

3 に答える 3

3

考えられる問題は、ファイル ('/usr/share/asterisk/agi-bin/call_handle.php') が asterisk:asterisk であるアスタリスク デーモンのユーザー グループに属していないようです。

つまり、Asterisk デーモンがこのファイルの所有権を持つ必要があります。

次に、この Asterisk デーモンを実際に実行しているユーザーが、このデーモンの実行権限を持っていない可能性もあります。

于 2015-01-17T06:24:49.020 に答える
2

私は自分で答えを得ました:phpスクリプトにPHP環境を設定すると、アスタリスクで実行されます。

PHPファイルの最初の行に次のように設定しました。

#!/usr/bin/env php

参考: PHPAGI: Exec 形式エラー

于 2015-01-17T10:00:05.220 に答える