Laravel в aws - не удалось открыть поток: отказано в разрешении
Я столкнулся с этой проблемой на сервере AWS,
Не удалось открыть поток или файл "/var/www/html/storage/logs/laravel.log": не удалось открыть поток: отказано в доступе
И даю разрешение "777", сейчас
sudo chmod -R 755 storage/
sudo chmod -R 777 storage/
ErrorException file_put_contents(/var/www/html/storage/framework/sessions/UMNbxoQBZjaUuZK7j4IHfRp3fWJF8pd688gnWX4o): не удалось открыть поток: в доступе отказано
Я получаю эту ошибку. Помогите мне исправить.
3 ответа
Как вы используете CentOS 7.8
пытаться
sudo chcon -t httpd_sys_rw_content_t storage
дать полное разрешениеstorage
Вам также необходимо предоставить разрешение на хранилище и папку начальной загрузки.
sudo chmod -R 777 storage/
sudo chmod -R 777 bootstrap/
Как только вы дадите разрешение, обязательно очистите кеши.
php artisan config:cache
php artisan route:clear
php artisan view:clear
Или у вас было бы config.php
файл внутри bootstrap >> cache >> config.php
удалите это.
Каталог Bootstrap
В bootstrap
каталог содержит app.php
файл, который загружает фреймворк. В этом каталоге также находится каталог кеша, который содержит файлы, созданные платформой для оптимизации производительности, такие как файлы кеша маршрутов и служб.
Каталог хранилища
В storage
Каталог содержит ваши скомпилированные шаблоны Blade, сеансы на основе файлов, кеши файлов и другие файлы, созданные фреймворком. Этот каталог выделен в приложение, рамку и журналы каталоги. Каталог приложения может использоваться для хранения любых файлов, созданных вашим приложением. Каталог framework используется для хранения файлов и кешей, созданных платформой. Наконец, каталог журналов содержит файлы журналов вашего приложения.
Этот вопрос действительно актуален, когда речь заходит о Laravel. Лучшее предложение, которое я могу дать, — это изменить разрешения на чтение/запись/исполнение вашей папки хранения, например:
sudo chmod -Rf 755 storage
-f - запустить команду для подфайлов и подкаталогов на всем протяжении
И убедитесь, что apache и пользователь имеют доступ/право собственности на папку хранения, например:
sudo chown -Rf username:apache storage
Важно: всегда избегайте использования 777, так как он дает разрешение любому получить доступ к вашим файлам и папкам за пределами вашей группы пользователей.
Села!