What I'm trying to achieve is, to reload php7.2-fpm
service via php-deployer.
According to php-deployer's documentation, it can be done like the code below:
task('reload:php-fpm', function () {
run('sudo /usr/sbin/service php7-fpm reload');
});
after('deploy', 'reload:php-fpm');
However, I face the error below while deploying:
➤ Executing task deploy:reload_php_fpm
↳ on [prod]
sudo service php7.2-fpm reload
In PhpSecLib.php line 124:
[RuntimeException]
sudo: no tty present and no askpass program specified
System info:
PHP Version 7.2
Ubuntu 18.04 LTS
PHP-Deployer Version 6.3.0
Do you have any idea how can I solve this issue?
After digging around, I finally found the proper answer to handle the situation.
I edited /etc/sudoers
file by following command:
sudo visudo
At the end of the file, I added this line:
siamak ALL=(ALL) NOPASSWD:/etc/init.d/php7.2-fpm reload
It means that, the user siamak
has permission to just reload php7.2-fpm
without entering password. For any other administrative tasks, siamak
must enter password.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With