允许用户在没有Sudo的情况下重新加载PHP FPM
问题描述:
在我们的开发服务器上,我们允许多个开发人员访问服务器到git pull
其更改。通常这需要运行sudo systemctl reload php-fpm
(或发送USR2
等)。但是,我们希望允许他们重新加载PHP-FPM中更改的代码,而不需要sudo
。允许用户在没有Sudo的情况下重新加载PHP FPM
遥想当年,当我用使用Ruby,你可以做的正是我要找的由荷兰国际集团touch
一个在tmp
目录中名为restart.txt
文件。
PHP-FPM是否支持类似的东西?或者,无论如何,允许reload
命令(或任何类似的方法发送USR2
)没有sudo
?
答
你可能在那里只是白名单的命令时在/ etc/sudoers文件:
user ALL=(root) NOPASSWD: systemctl reload php-fpm
这将特权用户呼叫systemctl reload php-fpm
为根(无密码)执行。
为什么在'git pull'后需要重新启动/重新加载'php-fpm'? –
你可以用红宝石达到同样的效果。我仍然没有CLUE为什么你要在git pull之后重新加载FPM,这是不需要的,你对php文件的改变将被执行。但是,为了避免进一步讨论:https://superuser.com/questions/181517/how-to-execute-a-command-whenever-a-file-changes - 在那里,根据您的需求进行调整。 –
@ N.B。因为我们关闭了'opcache.validate_timestamps'来进行性能测试和基准测试(在生产中,虽然这与这个问题无关),清除OpCache最简单的方法是重新加载。 –