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($

我想用星号中的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($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