我想要实现的是通过php-deployer重新加载php7.2-fpm
服务。
根据php-deployer's documentation,它可以像下面的代码一样完成:>
task('reload:php-fpm', function () {
run('sudo /usr/sbin/service php7-fpm reload');
});
after('deploy', 'reload:php-fpm');
但是,我在部署时遇到以下错误:
➤执行任务部署:reload_php_fpm
↳[产品]
sudo服务php7.2-fpm重新加载
在PhpSecLib.php第124行中:
[RuntimeException]
sudo:不存在tty且未指定AskPass程序
系统信息:
PHP 7.2版
Ubuntu 18.04 LTS
PHP-Deployer版本6.3.0
您知道如何解决此问题吗?
答案 0 :(得分:1)
深入研究之后,我终于找到了解决问题的正确答案。
我通过以下命令编辑了/etc/sudoers
文件:
sudo visudo
在文件末尾,我添加了这一行:
siamak ALL=(ALL) NOPASSWD:/etc/init.d/php7.2-fpm reload
这意味着用户siamak
有权重新加载php7.2-fpm
,而无需输入密码。对于其他任何管理任务,siamak
必须输入密码。