PHP shell_exec返回值的javascript变量不工作


php shell_exec return value to javascript variable not working

我想从php_exec函数到javascript变量的输出字符串。但这行不通。

<?php
$val1 = "val1 ok";
$val2 = shell_exec('ls');
?>
<html>
<body>
<script>
document.write("<?php echo $val2 ?>"); // val1 works but not val2
</script>
</body>
</html>

我可以看到val1被打印,但没有val2。为什么?

根据PHP文档,

执行命令的输出或NULL如果发生错误或该命令没有输出。

shell_exec函数"当PHP在安全模式下运行时被禁用。"

$val2不显示,因为它的值是null

代码:

<?php
$val1 = "val1 ok";
$val2 = shell_exec('ls');
?>
<html>
<body>
<script>
document.write("<?php echo 'val2 is '.$val2 ?>"); // val1 works but not val2
</script>
</body>
</html>
输出:

val2 is