我需要 apache 能够运行 sphinx 索引工具,因为我正在构建一个基于 Web 的界面来重新索引和检查各种 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
答案1
事实证明我需要使用该命令的完整路径
exec sudo -u sphinx /usr/bin/indextool --checkconfig --config /path/to/sphinx.conf
现在一切都很好