Выполнение сценария оболочки sudo с помощью Stack Overflow

я пытаюсь выполнить команду pkill с помощью сценария php.

Сценарий killengine.sh отлично работает с терминала, как с ./killengine.sh, так и с php restart.php.

это killengine.sh

#!/bin/bash
sudo pkill -f  engine

и это рестарт.php

$out = shell_exec("/var/www/killengine.sh 2>&1");
var_dump($out);

Оба файла имеют 755 разрешений. Собственный файл restart.php — apache, а root — владелец killengine.sh. Также я попытался с обоими владельцами быть root / apache.

В Visudo я сделал эти изменения:

Defaults:apache !requiretty

но я получаю: «sudo: нет tty настоящего и не задана программа askpass»

Тогда я попробовал с

Defaults!/var/www/killengine.sh !requiretty

тогда я получаю: «sudo: извините, у вас должен быть tty для запуска sudo»

Кроме того, эта линия все время присутствует на EOF

apache ALL=NOPASSWD: /var/www/killengine.sh

но без успеха.

ОС Centos 6

Есть идеи?

-1

Решение

решение:

изменил restart.php на

$out= @shell_exec("sudo /var/www/killengine.sh");
0

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

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

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