Назад | Перейти на главную страницу

Выполнение команды как apache

Этот скрипт продолжает выводить 1. и я не могу понять почему.

<?php
        passthru("nohup sudo rndc reload sd.example.com",$op);
        print_r($op);
?>

Я также пробовал приведенный выше код без nohup. В моем файле sudoers есть следующая строка

apache ALL = NOPASSWD: /usr/sbin/rndc reload sd.example.com

Просто чтобы проверить, временно, я разрешил apache оболочку, войдя в систему как apache через sudo su apache и успешно удалось выполнить sudo rndc reload sd.example.com. Я перезапускаю httpd каждый раз, когда вносил изменения в файл sudoers.

Я не вижу сообщений об ошибках в моих лог-файлах. Что я мог делать не так? Ни один из подобных потоков не указал мне ни на что, что решило бы мою проблему или отладило ее.

попытаться заменить

apache ALL = NOPASSWD: /usr/sbin/rndc reload sd.example.com

с участием

apache ALL = NOPASSWD: /usr/bin/nohup /usr/sbin/rndc reload sd.example.com