shell_exec()在“ls”上返回null

时间:2013-08-14 20:09:02

标签: php linux centos

所以我有这个代码,我只想在另一个目录中创建一个列表,其中php脚本位于xampp文件夹中,并且保存到此路径/root/files/saves

<html>
<body>
<?php
$output = shell_exec('ls /root/files/saves');
echo "<pre>$output</pre>";
?>
</body>
</html>

我不知道为什么我不能让它工作var_dump它似乎输出为空我真的很困惑它应该工作或我只是一切都错了我需要一些帮助。

1 个答案:

答案 0 :(得分:63)

2>&1添加到您的shell命令的末尾,以便返回STDERR以及STDOUT

$output = shell_exec("ls /root/files/saves 2>&1");

此外,如果运行PHP的用户没有足够的权限来查看/root/中的输出,则上述代码将返回Permission denied错误消息。

来源:http://php.net/manual/en/function.shell-exec.php#28994