web-dev-qa-db-ja.com

shell_exec()が「ls」でnullを返す

だから私はこのコードを持っていて、php scripがxamppフォルダーにあり、保存がこのパス/root/files/savesにある別のディレクトリに保存のリストを作成しようとしています。

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

なぜvar_dumpで動作しないのかわかりません。出力がnullのようです。動作するはずですが、本当に混乱しているので、ヘルプが必要です。

25
Mokmeuh

シェルコマンドの最後に2>&1を追加すると、STDERRSTDOUTが返されます。

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

また、PHPを実行しているユーザーが/root/で出力を表示するための十分な権限を持っていない場合、上記のコードはPermission deniedエラーメッセージを返します。

ソース: http://php.net/manual/en/function.Shell-exec.php#28994

71
Amal Murali