AGI命令和星号格式的php文件
我想用星号中的php制作简单的IVR。当我单独运行php程序时,它可以正常工作。但当我用星号中的AGI命令调用它时,它不起作用。 这是我的php文件:AGI命令和星号格式的php文件,php,voip,asterisk,agi,Php,Voip,Asterisk,Agi,我想用星号中的php制作简单的IVR。当我单独运行php程序时,它可以正常工作。但当我用星号中的AGI命令调用它时,它不起作用。 这是我的php文件: #!/usr/bin/php -q <? set_time_limit(30); require('phpagi.php'); $agi = new AGI(); $agi->answer(); $file = '/var/www/html/test.txt'; $current = file_get_contents($
#!/usr/bin/php -q
<?
set_time_limit(30);
require('phpagi.php');
$agi = new AGI();
$agi->answer();
$file = '/var/www/html/test.txt';
$current = file_get_contents($file);
$current .= "Test\n";
file_put_contents($file, $current);
$agi->say_digits(1234);
$agi->hangup();
?>
当我用手机拨打6565时,它只会播放两次“Hello World”信息!
php文件权限是可执行的
我已经在VirtualBox中安装了Elastix(星号)
我做错了什么
请帮助。执行以下操作:
1) 停止星号
asterisk -rx "core stop now"
2) 在ssh控制台中启动它
asterisk -vvvgc
3) 启用星号AGI调试
agi set debug on
您将在脚本中看到错误。还要检查selinux是否已关闭如果它生成任何错误,您是否在CLI上看到?调试AGI的最佳方法是逐步安装功能。假设您第一次测试它是否执行“say_digit”!!还要检查您创建的PHP脚本的位置。PHP脚本位置是:
/var/lib/asterisk/agi-bin/
。但是如何调试或测试AGI并说出数字呢?首先,在AGI中除了回显一些输出(详细)外,什么都不做,这样您就可以知道脚本正在运行和执行,并逐渐添加其他内容。set AGI debug on
将为您调试AGI脚本
agi set debug on