我想从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