当我在PHP脚本中发出以下内容时,我获得了成功的输出:
$peers_summary = exec('sudo asterisk -x "sip show peers"', $sip_peers);
$sip_peers
包含exec命令的完整输出,列出了Asterisk提供的标准表格式的对等项。但是,当我发出:
$test = exec('sudo asterisk -x "sip show peer trunk-to-pbx"', $trunk);
$trunk
完全为空:array(0) {}
,和
$test
是一个空字符串:string(0) ""
trunk-to-pbx
是我的Asterisk安装中的有效对等方,我已经确认在提示时发出sudo asterisk -x "sip show peer trunk-to-pbx"
是成功的(sudo asterisk -x "sip show peers"
),所以我&#39 ;我不确定为什么第二个命令从exec()
返回空。我最初认为它可能是输出字符限制,但输出少于2,000个字符 - 不能是内存或限制问题。我尝试了set_time_limit(0)
,即使执行在提示时几乎是即时的。
为什么第二个exec()
返回空?
答案 0 :(得分:0)
问题不在Song(title: "Title 3", artist "Artist 3")
或exec()
或我传递给asterisk
的命令;有exec()
文件白名单命令,我的命令需要包含在sudoers
工作之前。继承的代码库。感谢 Chris Stryczynski ,感谢您的建议。