[英]$agi->get_data causes php script to return immediately
當 test.php 腳本從星號撥號計划運行時,一切正常,直到執行到達
$agi->get_data('xxx', 1000, 1); statement.
asterisk cli 顯示此日志:
AGI Script test.php 完成,返回 0
並且腳本在不播放請求的聲音或獲取任何 DTMF 數字的情況下完成其執行。
我用類似的聲音文件測試了 stream_file function,它工作正常。 所以文件存在並且聲音播放模塊沒問題
#!/usr/bin/php -q
<?
require('phpagi.php');
$agi = new AGI();
$ch = $agi->request["agi_channel"];
$callerid = $agi->request["agi_callerid"];
$agi->answer();
$agi->verbose($callerid);
$menu = $agi->get_data('welcome', 1000, 1);
$menu = $agi->get_data('MainMenu', 5000, 1);
可能你有錯誤。
不幸的是,不能說它是什么。
人們只是忘了提及(在書中也是如此),星號不會向 CLI 發送敏捷錯誤。
要得到錯誤,你應該檢查主控制台(需要知道哪個,在大多數情況下是 tty9)或者只是在當前 session 中用控制台啟動星號。
asterisk -rx "core stop now"
asterisk -vvvgc
agi set debug on
之后你會看到腳本錯誤。
phpagi.php 庫“get_data”方法有問題,我下載了庫,用新文件替換了當前文件,一切正常。
問題是phpagi.php,get_data function被人操縱了! 我下載了庫並用舊庫替換了它,一切正常
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.