我有一个星号服务器在支付环境中工作得很好。现在,我需要将业务逻辑与Asterisk服务器分开,以提高效率,并出于显而易见的原因保护AGI脚本。
问题是,如何将现有的工作AGI脚本转换为FASTAGI脚本,或者如何从FASTAGI服务器调用现有的AGI脚本?
我已经在这个平台上发布了一些答案的帖子,但没有一个清楚地说明如何从头开始。将很高兴有清楚的了解如何使用PHP来实现这一点。
发布于 2015-04-08 20:51:53
您可以使用xinetd来实现这一点。从每个星号框上的拨号方案中,使用快速的agi参数呼叫agi,替换您的fastagi服务器的IP地址:
AGI(agi://192.168.1.100/)确保您在/etc/services中具有类似以下内容:
agi 4573/tcp # FAST AGI entry在FastAGI服务器上:在一个名为/etc/xinetd.d/agi的文件中(确保/etc/xinetd.conf正在从/etc/xinetd.d/加载模块)中有一个调用您的agi脚本的定义。
# description: agi service for PHP fastagi interaction
service agi
{
socket_type = stream
user = root
group = nobody
server = /path/to/agiLaunch.sh
wait = no
protocol = tcp
bind = 127.0.0.1
disable = no
per_source = UNLIMITED
instances = UNLIMITED
cps = 1000 0
}在AGI脚本中,您现在可以像往常一样读取STDIN或STDOUT。
https://stackoverflow.com/questions/29487705
复制相似问题