Laravel на ElasticBeanstalk 'Ошибка разрешения файла журнала запрещена' продолжает появляться, даже если разрешение установлено в файле конфигурации .ebextensions - PullRequest
1 голос
/ 14 июля 2020

Я развертываю свое приложение Laravel в среде ElasticBeanstalk. Но у меня возникла проблема с разрешениями на файл laravel .log.

Я развернул приложение с помощью команды «eb deploy». После развертывания я получаю доступ к своему приложению. Но это вызывает следующую ошибку.

The stream or file "/var/app/current/storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied

Чтобы решить проблему, я s sh на сервере и запускаю следующую команду.

sudo -u root chmod 777 -R /var/app/current/storage/logs

Проблема решена. Теперь мое приложение работает. Но я снова развертываю свое приложение, выполняя команду «be deploy». После развертывания проблема возникла снова. Последовательно решать проблему. Я попытался запустить команду в файле конфигурации .ebextensions следующим образом.

container_commands:
  01-migrations:
    command: "php artisan migrate --force"
  02-log-storage-permissions:
    command: "sudo -u root chmod -R 777 /var/app/current/storage/logs/"

Я могу развернуть свое приложение. Но проблема все еще сохраняется. Похоже, команда не работает. Что не так с моей конфигурацией и как я могу это исправить?

1 Ответ

1 голос
/ 14 июля 2020

Я считаю, что это потому, что container_commands запускается, когда ваше приложение находится в промежуточной папке. Таким образом, после того, как вы запустите 02-log-storage-permissions, ваш /var/app/current все равно будет заменен промежуточной папкой. Так что ваш chmod не будет сохраняться.

Чтобы устранить проблему, вы можете попробовать один из двух вариантов :

  1. Используйте
  02-log-storage-permissions:
    command: "sudo -u chmod -R 777 ./storage/logs/"

для изменения журналов в промежуточной папке.

используйте postdeploy хук для запуска вашего скрипта:

после Elasti c движок платформы Beanstalk развертывает приложение и прокси-сервер.

...