Amazon Linux — Запуск Composer от имени пользователя Apache?

У меня есть webhook для моего приложения, которое в настоящее время делает это:

cd /var/www/html; git pull origin master; /usr/local/bin/composer dump-autoload; php artisan migrate

Я был в состоянии заставить все команды выше работать, кроме composer dump-autoload команда.

Когда я захожу на сервер как ec2-user и беги sudo -u apache /usr/local/bin/composer dump-autoloadкоманда запускается. Но если я попаду в конечную точку, которая запускает эту команду через скрипт PHP, используя shell_exec, это не работает.

Есть ли способ для меня, чтобы получить apache пользователь запускает эту команду самостоятельно?

1

Решение

Это должно быть выполнено путем изменения вашего файла sudoers.

visudo

Добавьте строку:

ec2-user ALL=(apache) NOPASSWD: /path/to/script.sh

0

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

Не забудьте проверить, есть ли у пользователя apache права на запись в каталоге Laravel. композитор попытается написать в каталоге «vendors».

С уважением.

0

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