VoiceXML<;提交>;在php上引发编译错误的标记

VoiceXML<;提交>;在php上引发编译错误的标记,php,xml,voicexml,Php,Xml,Voicexml,长期潜伏者,第一次询问者。这项任务似乎相对简单:创建一个VoiceXML文档,它将触发一个脚本来更改文本文档,然后通过口头命令运行游戏 相关VoiceXML: <!--Encoding details--> <?xml version="1.0" encoding="UTF-8" ?> <vxml version="2.1" xmlns="http://www.w3.org/2001/vxml"> <if cond="command =='t1 go

长期潜伏者,第一次询问者。这项任务似乎相对简单:创建一个VoiceXML文档,它将触发一个脚本来更改文本文档,然后通过口头命令运行游戏

相关VoiceXML:

<!--Encoding details-->
<?xml version="1.0" encoding="UTF-8" ?>
<vxml version="2.1" xmlns="http://www.w3.org/2001/vxml"> 

<if cond="command =='t1 go'">
   <submit next="tank.php?command=t1%20go" method="get" namelist="command"/>
</if>

在if/else标记中,初始条件下总共有5个条件。当调用phone#时,它会要求您发出命令,它会正确地转到条件分支,然后声明tank.php文档“无法编译”并断开连接。诀窍是,这个口头命令确实改变了文本文件,php编译/运行良好。当我取出“提交”标签时,文档不会抛出任何错误。不管出于什么原因,php的这个“编译错误”似乎导致voiceXML表单过早地断开连接

完整的php文档:

<?php
    $myfile = fopen("gismoCommand.txt", "w") or die("Unable to open file!");
    $command = $_GET["command"];
    fwrite($myfile, $command);
    fclose($myfile);
?>

我已经为这个具体问题工作了5个小时。你的建议可以挽救我的理智。

决议

Voxeo(我正在使用的服务)提供了比vocal命令更彻底的调试器。感谢上帝

它向我扔了这样的东西(确切的内容并不重要)

TTS:抱歉,该内容有内部错误。
RTSP消息(o):宣布rtsp://localhost:9974/synthesizer/ RTSP/1.0 Cseq:11会话:B5BDEFF379236676847995D294D3445-9468内容类型:应用程序/mrcp内容长度:649 SPEAK 946796007 mrcp/1.0在驳船上压井:真实语音名称:Allison EnglishUS语音语言:英美供应商特定参数:Voxeo资源=“en-us.TTS.fc808afe12384bcb90415baee30fc0d7.TAGING-Loquendo;plugin=vxtsloq7;speechLanguage=en us;voiceName=Allison EnglishUS;type=loquendo;Voxeo播放模式=VXML;Voxeo社区ID=f25af74e6f994e15ae7214ca83a2fcd9;Voxeo虚拟平台=Staging loquendo;Voxeo站点ID=fc808afe12384bcb90415baee30fc0d7内容类型:应用程序/合成+ssml内容长度:129抱歉,该内容存在内部错误。
重要的是,这个错误没有出现在Postman或PHP错误中,因为正如我所料,PHP本身不是问题,而是vxml解释它的方式。在PHP脚本周围抛出“vxml”标记(保留.PHP结尾)节目是100%快乐的,我花了将近9个小时努力寻找一个两行的变化

希望这能帮助别人,干杯

新PHP:

<vxml version="2.0">
<?php
    $myfile = fopen("gismoCommand.txt", "w") or die("Unable to open file!");
    $command = $_GET["command"];
    fwrite($myfile, $command);
    fclose($myfile);
?>
</vxml>

“提交”是对有效VoiceXML文档的请求;请参阅。通过在文档周围放置“vxml”标记,您创建了一个足够合法的VoiceXML脚本,解释器可以读取和解释该脚本

就我个人而言,对于这种情况,我会使用Voxeo支持的和。返回一个最小的XML文档;忽略它;使用一个漂亮、干净、定义良好的退出继续处理VoiceXML

<vxml version="2.0">
<?php
    $myfile = fopen("gismoCommand.txt", "w") or die("Unable to open file!");
    $command = $_GET["command"];
    fwrite($myfile, $command);
    fclose($myfile);
?>
</vxml>