Подтвердить что ты не робот

Shell_exec() возвращает значение null на "ls"

Итак, у меня есть этот код, и я только пытаюсь сделать список сохранений в другом каталоге, где php-скрипт находится в папке xampp, и сохраняет это путь /root/files/saves:

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

Я не знаю, почему я не могу заставить его работать над var_dump, кажется, что вывод является нулевым. Я действительно запутался, он должен работать, или я просто все неправильно. Мне нужна помощь.

4b9b3361

Ответ 1

Добавьте 2>&1 в конец вашей команды оболочки, чтобы вернуть 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