-3
我想過濾來自Asterisk Manager Interface的事件,以便僅顯示PHP網頁上的調用和調用信息。 這是代碼,它什麼都不顯示。我已經試過這個修改後的字符串,而正常文本循環,它效果很好。PHP從Asterisk Manager接口(AMI)修改web顯示事件
<?php
$socket = fsockopen("127.0.0.1","5038", $errno, $errstr, 10);
if (!$socket){
echo "$errstr ($errno)\n";
}
else{
fputs($socket, "action: login\r\n");
fputs($socket, "username: asterisk\r\n");
fputs($socket, "secret: zxczxc\r\n\r\n");
fputs($socket, "action: Waitevent\r\n");
$wrets=fgets($socket,128);
while(($buffer = fgets($socket,4096)) !== false)
{ $p1=strpos($buffer,"Newchannel");
if($p1 > 0)
echo "Calling ID =";
echo substr($buffer,$p1+4,4);
}
}
}
?>
這裏是不用修改事件的結果:
那麼問題是什麼?在你的代碼中找到bug - 這裏是offtopic,參見規則。 – arheops
謝謝你回答我的問題。對不起,我是新手,我還不清楚。我的問題是使用while循環修改AMI事件不起作用。訪問時,網頁不顯示任何內容。我已經試過這個循環與正常的文本文件來修改文本,它運作良好。 –
沒有人會爲你調試,對不起。做消息輸出到日誌文件,輸出你的行爲,查看所有結果。 – arheops