В общем-то суть в том, что тот же самый bash скрипт выполняется из командной строки.
Апач запускается из-под юзера apacheuser.
Я прописал в sudoers этот bash скрипт для выполнения из-под рута этим юзером.
Если войти в сессию apacheuser из командной строки, то bash скрипт выполняется нормально.
su - apacheuser
sudo /home/apacheuser/bin/script parameter
Если вызывать из РНР, то не работает
echo exec('sudo /home/apacheuser/bin/script '.$parameter);
отображает помощь по sudo, получается команда не правильно передаётся.
parameter -- это имейл.
Как правильно запустить bash скрипт из PHP?
Примечание:
Пересоздал вопрос здесь:
http://otvety.google.ru/otvety/thread?tid=0346ea292a64bd6e
Примечание:
пробовал, не помогало, уже решил проблему.
Оказалось проблема в sudoers и в том, что я своё разрешение добавил в _конец_файла_sudoers_.
Методом проб и ошибок, я тупо скопипастил своё правило чуть выше по файлу, прямо под рутовые разрешения и они начали обрабатываться, т.е. проблема была не в PHP или моих командах.
Потом появилась вторая проблема ,выскакивала ошибка:
sudo: sorry, you must have a tty to run sudo
Которая решилась комментированием строки
Defaults requiretty
Вот теперь всё работает!
Примечание:
Держите баллы.
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.