PHP exec / shell_exec / система не работает через браузер - PullRequest
3 голосов
/ 15 марта 2011

Я использую SCO Unix с Apache версии 1.3.33 и PHP версии 4.4.Я могу правильно выполнить команду exec через cli, но у меня возникают проблемы с попыткой выполнить скрипт через браузер.Мои настройки:

  • безопасный режим выключен
  • полные разрешения на чтение / запись / выполнение
  • отображение всех ошибок
  • нет отключенных функций

Мой код: test_script.php в htdocs dir

<code><?php
exec('ls',$out,$rval);
echo "Output:<hr />";
print "<pre>"; print_r($out); print "
"; echo" Возвращаемое значение:"; echo $ rval;?>

Я также попытался явно указать исполняемый двоичный путь. Тестовый скрипт - это тот же пользователь / группа, что и apache. Я также попытался добавить 2> & 1в arg, но не вижу изменений. Заранее спасибо.

См. здесь для аналогичных.

Ответы [ 2 ]

6 голосов
/ 20 марта 2011

1001 * попробовать *

$output = shell_exec('ls /tmp/ 2>&1')

у вас может быть проблема с разрешениями на текущий каталог для пользователя, запустившего веб-страницу.

Вы также можете попробовать команду whoami.

0 голосов
/ 27 марта 2013

Иногда эти функции отключены, вы должны включить их в php.ini

...