Мне нужен apache, чтобы иметь возможность запускать инструмент индексации sphinx, поскольку я создаю веб-интерфейс для переиндексации и проверки различных конфигураций sphinx.
В настоящее время я добавил следующее в visudo
Defaults:%apache !requiretty
Defaults:apache !requiretty
apache ALL=(sphinx) NOPASSWD: /usr/bin/indexer, /usr/bin/indexer
Я выполняю следующую команду:
exec sudo -u sphinx indextool --checkconfig --config /path/to/sphinx.conf
Это выполняется с помощью PHP proc_open
array(
'stdin' => array('pipe', 'r'),
'stdout' => array('pipe', 'w'),
'stderr' => array('pipe', 'w'),
)
ОШИБКА:
sudo: no tty present and no askpass program specified
Оказывается, мне нужно использовать полный путь для команды
exec sudo -u sphinx /usr/bin/indextool --checkconfig --config /path/to/sphinx.conf
Теперь все отлично работает