解析错误:语法错误,意外$end


Parse error: syntax error, unexpected $end in

我不明白为什么 eval 不能在这个字符串上工作。

这有效:

eval(base64_decode('cGhwaW5mbygpOw=='));

这不会:

$test= "base64_decode('cGhwaW5mbygpOw==');";
eval($test);

操作顺序正在杀死你。 这两个例子一点也不相似。

eval(base64_decode('cGhwaW5mbygpOw=='));

更像

$test = base64_decode('cGhwaW5mbygpOw==');
eval($test);

但是,第二个示例base64_decode解析出 eval 中的字符串 'phpinfo((;,并且对该字符串后词不执行任何操作。

$test= base64_decode('cGhwaW5mbygpOw==');
eval($test);

这会的。