Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从php重新启动Sphinx_Php_Linux_Bash_Sphinx - Fatal编程技术网

从php重新启动Sphinx

从php重新启动Sphinx,php,linux,bash,sphinx,Php,Linux,Bash,Sphinx,有人能帮我吗?我正在使用sphinx searcher,但我有很多数据库。我动态地控制它们(更改sphinx配置文件),但是在向配置文件添加索引之后,sphinx需要重新启动。我已经为此创建了一个bash脚本(stop shpinx,start it,indexer--rotate--all),当我从终端运行该脚本时,它是正常的,但当我从apache服务器运行时,它不起作用。在不将apache服务器的所有者更改为root用户的情况下,如何做到这一点(这将降低服务器的安全性) 在不将apache服

有人能帮我吗?我正在使用sphinx searcher,但我有很多数据库。我动态地控制它们(更改sphinx配置文件),但是在向配置文件添加索引之后,sphinx需要重新启动。我已经为此创建了一个bash脚本(stop shpinx,start it,indexer--rotate--all),当我从终端运行该脚本时,它是正常的,但当我从apache服务器运行时,它不起作用。在不将apache服务器的所有者更改为root用户的情况下,如何做到这一点(这将降低服务器的安全性)

在不将apache服务器的所有者更改为root的情况下,如何做到这一点

苏多呢?把这样的东西放在你的运动鞋里

apache ALL= NOPASSWD: /path/to/script command
关键是要确保脚本不能被利用。。。因为它正在以root用户身份运行。。。ie是apache的只读+exec,请确保发送到脚本的命令/开关已检查是否正常

我希望这有帮助,
亲切的问候,

Nick

1)setuid 2)从cron运行脚本,并检查(例如:数据库/fs)是否需要重新启动。顺便问一下,为什么要更改配置文件?因为对于每个数据库,我在配置文件中添加了一个ip为db、db_user、db_pass、db_name的源,并为此源添加了一个索引器。当我尝试在php中使用添加的索引器时,它没有重新启动就无法识别新添加的索引器sphinxI正在尝试sudo,但没有添加
apache ALL=NOPASSWD:/path/to/script命令,因此无法工作。现在没事了。Thnx的帮助…嗨丹尼斯,你能告诉我你使用了哪个命令,因为我有同样的困难,运行索引在cron作业。