lsl到php脚本的问题

lsl到php脚本的问题,php,linden-scripting-language,Php,Linden Scripting Language,PHP部分: 现在,我将注释掉的部分添加到PHP中,以表明它是有效的。然后,当LSL脚本发送到PHP时,它返回: print \"hello world\"; -- this line is from, 'echo $php;' <b>Parse error</b>: syntax error, unexpected '&quot;', expecting identifier (T_STRING) in <b>xxxxxx.php(141) :

PHP部分:

现在,我将注释掉的部分添加到PHP中,以表明它是有效的。然后,当LSL脚本发送到PHP时,它返回:

print \"hello world\"; -- this line is from, 'echo $php;'

<b>Parse error</b>:  syntax error, unexpected '&quot;', expecting identifier
(T_STRING) in <b>xxxxxx.php(141) : eval()'d code</b> on line <b>1</b><br />
-- this is the error.
这和两个脚本发送数据的方式有关。我想可能与$php=$\u POST['php']有关;因此将其更改为$php=$\u POST[php];结果没有改变。然后,我尝试更改打印\hello world\;打印“hello world”;然后它只返回错误:T_封装了_和_空白

我没有在这里提供完整的来源。只有出现问题的部分。它以示例状态提供。输出与源中看到的实际错误结果相同。lsl脚本和php需要使用eval。在这种情况下,代码被双方动态地重新配置并发送给另一方。从本质上讲,这两种语言能够相互编码。这是《第二人生》中的一个游戏


因此,如果有人知道向脚本传递所需数据和从脚本传递所需数据的实际方法。我需要一些建议。或者,如果我错过了一些简单的事情,就给我一记耳光。

就像马里奥在关掉魔术语录时那样。然后我在源代码中找到了数据的作用。然后我研究并使用了以下内容:evalstripslashes$php;这完全解决了问题。基于马里奥斯·波克

这与转义数据无关。我不这么认为,因为echo报告了罚款。这也确实是一个打在我头上的错误

stripslashes-取消引用带引号的字符串


我将投票选出这是最佳答案,也是马里奥的最佳答案。但愿他能把自己的话作为对评论的回答。所以我本来可以投票的。

试着发送:打印hello world;或者在发送字符串之前,使用htmlspecialchars对字符串进行编码。数据从LSL脚本Second Life PHP发送,然后返回LSL。按照这个顺序,这将是一个恒定的链。如上所示,LSL到PHP正在正确收集转义字符串并回显:print\hello world\;来自LSL的是:print\hello world\;。因此,两个脚本以相同的方式查看相同的数据。尽管经过评估,它是错误的。使用第一个建议与发送前转义数据相同。因为它已经在LSL上这样做了。第二种方法永远无法实现,因为LSL到PHP不理解htmlspecialchars。如果是PHP到LSL,那么是的。这不是顺序。就像你在收到的回音中看到的那样打印\hello world\;而你真正想要的是:打印\hello world\;或者简单地说:打印hello world;@马里奥,谢谢你。这给了我一个寻找的想法。发现了发生的事情。使用evalstripslashes$php;修复了该问题,并正常工作。所以我要说谢谢你。很简单,我现在应该给自己一记耳光。英雄联盟
string php = "print \"hello world\";";
print \"hello world\"; -- this line is from, 'echo $php;'

<b>Parse error</b>:  syntax error, unexpected '&quot;', expecting identifier
(T_STRING) in <b>xxxxxx.php(141) : eval()'d code</b> on line <b>1</b><br />
-- this is the error.