linux — проблема Shell_exec с переполнением стека

У меня небольшая проблема с функцией shell_exec.
То, что я пытаюсь сделать, это перезапустить сервер Linux, нажав на кнопку. Однако я не могу заставить команду работать.

Это команда, которую я пытаюсь использовать:

shell_exec('sudo sbin/shutdown -r now');

Я читал об этой проблеме уже несколько часов и перепробовал все, что смог найти, но безрезультатно.

Итак, вот что я попробовал:
Прежде всего, я проверил, что в php.ini нет строки, которая не позволяла бы мне использовать команду.
Во-вторых, я добавил эту строку в / etc / sudoers

%www-data ALL=NOPASSWD: /sbin/shutdown

Когда это тоже не сработало, я также создал новый файл в etc / sudoers.d / и написал там: %users ALL=NOPASSWD: /sbin/shutdown

Также я не знаю, актуально это или нет, но когда я попытался запустить другой shell_exec в том же месте, он работает нормально (возвращает www-данные) как

echo shell_exec("whoami");

Но ничего не показывает, когда я добавляю sudo:

echo shell_exec("sudo whoami");

Так что да, если есть кто-нибудь, кто может сказать мне, что еще попробовать, я был бы признателен за это. Заранее спасибо. PS Это linux wheezy, что я пытаюсь заставить это работать, если это поможет.

Редактировать: даже nobody ALL=NOPASSWD: ALL
в файле sudoers, похоже, не работает мой shell_exec с sudo.

0

Решение

Я думаю, что это может быть опечатка.

Так должно быть shell_exec('sudo /sbin/shutdown -r now');Использование относительных путей не будет работать каждый раз.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]