Вот моя команда:
sudo /usr/local/bin/jpegoptim --max=50 /home/someuser/public_html/reports/images/r121662.jpg
Эта команда предназначена для сжатия изображения. Я попытался запустить эту команду, используя оператор backtick и shell_exec, ни один не будет работать. Файл не сжимается.
Но эта команда запускается, когда я запускаю ее непосредственно в оболочке, зарегистрированной как someuser
. Я изменил sudoers
, чтобы принимать команду без пароля. Файл сжимается при запуске в оболочке.
Apache настроен для работы с suPHP, а файлы PHP также относятся к someuser
. Я также сделал это, написав тестовый php-скрипт, просто сказав system(id);
и запустив его в браузере. Это говорит мне о том, что скрипт действительно выполняется someuser
.
Кроме того, safe_mode выключен.
РЕДАКТИРОВАТЬ : Хорошо, я получил это, чтобы вывести ошибку
sudo: sorry, you must have a tty to run sudo
Теперь, что это значит?!