在我们的开发服务器上,我们允许多个开发人员访问服务器以
git pull
进行更改。通常这需要运行 sudo systemctl reload php-fpm
(或发送 USR2
等)。但是,我们希望允许他们在 PHP-FPM 中重新加载更改后的代码,而不需要sudo
。
当我使用 Ruby 时,您可以通过在
touch
目录中创建一个名为 restart.txt
的文件来完成我正在寻找的任务。PHP-FPM 支持类似的东西吗?或者,是否可以在没有
tmp
的情况下允许
reload
命令(或任何类似的发送 USR2
的方法)?首先编辑 sudoers 文件:
sudo
添加以下配置行:
sudo visudo
将
user(在行的开头)替换为执行命令的真实用户名。
这将授予用户以 root 身份(无需密码)调用
user ALL=(root) NOPASSWD: systemctl reload php-fpm
的特权。
sudo systemctl reload php-fpm
其中
user ALL=(ALL) NOPASSWD: /usr/sbin/service php7.3-fpm *
可能会根据您拥有的 php 版本而变化,而
7.3
是您的用户。