PHP部分:
$php = $_POST['php'];
//$php = "print \"hello world\";";
if ($php != null){
if (strlen($php) < 400){
echo $php;
eval($php);
//eval("print \"hello world\";");
}else die ("Evaluated Expression Exceeds Maximum Length");
}
LSL部分:
string php = "print \"hello world\";";
现在我将注释掉的位添加到 PHP 中以表明它可以工作。然后当 LSL 脚本发送到 PHP 时,它会返回:
print \"hello world\"; -- this line is from, 'echo $php;'
<b>Parse error</b>: syntax error, unexpected '"', expecting identifier
(T_STRING) in <b>xxxxxx.php(141) : eval()'d code</b> on line <b>1</b><br />
-- this is the error.
这与两个脚本发送数据的方式有关。我想可能与$php = $_POST['php']; 所以将其更改为$php = $_POST[php]; 结果没有变化。然后我尝试改变print \"hello world\"; 打印“你好世界”;然后它只返回错误:T_ENCAPSED_AND_WHITESPACE。
我没有在这里提供完整的来源。只有有问题的部分。它以示例状态提供。输出与源代码中看到的实际错误结果相同。lsl 脚本和 php 需要使用 eval。因为代码是由双方动态重新配置并相互发送的。从本质上讲,使两者能够相互编码。这是第二人生的游戏。
因此,如果有人知道将所需数据传入和传出脚本的实际方法。我可以使用一些建议。或者,如果我错过了一些简单的事情,就会被击中头部。