Перезагрузка php-fpm после развертывания через php-deployer без пароля

То, что я пытаюсь достичь, это перезагрузить php7.2-fpm обслуживание через PHP-Установщик.
В соответствии с Документация php-deployer, это можно сделать как в коде ниже:

task('reload:php-fpm', function () {
run('sudo /usr/sbin/service php7-fpm reload');
});

after('deploy', 'reload:php-fpm');

Тем не менее, я сталкиваюсь с ошибкой ниже при развертывании:

Deploy Выполнение задачи развертывания: reload_php_fpm

↳ на [продукт]

sudo service php7.2-fpm reload

В строке 124 PhpSecLib.php:
[RuntimeException] sudo: tty отсутствует и не задана программа askpass

Системная информация:

Версия PHP 7.2
Ubuntu 18.04 LTS
PHP-Deployer версия 6.3.0

У вас есть идеи, как я могу решить эту проблему?

0

Решение

Покопавшись, я наконец нашел правильный ответ, чтобы справиться с ситуацией.
Я редактировал /etc/sudoers подать следующую команду:

sudo visudo

В конце файла я добавил эту строку:

siamak ALL=(ALL) NOPASSWD:/etc/init.d/php7.2-fpm reload

Это означает, что пользователь siamak имеет разрешение просто перезагрузить php7.2-fpm без ввода пароля. Для любых других административных задач, siamak необходимо ввести пароль.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]