環境
- PHP 7.4.4
- Laravel 7.5.1
エラー
There is no existing directory at "/work/backend/storage/logs" and its not buildable: Permission denied
in /work/backend/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php (line 171)
in /work/backend/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php -> createDir (line 99)
in /work/backend/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php -> write (line 42)
in /work/backend/vendor/monolog/monolog/src/Monolog/Logger.php -> handle (line 323)
in /work/backend/vendor/monolog/monolog/src/Monolog/Logger.php -> addRecord (line 541)
in /work/backend/vendor/laravel/framework/src/Illuminate/Log/Logger.php -> error (line 174)
in /work/backend/vendor/laravel/framework/src/Illuminate/Log/Logger.php -> writeLog (line 87)
in /work/backend/vendor/laravel/framework/src/Illuminate/Log/LogManager.php -> error (line 547)
in /work/backend/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php -> error (line 122)
原因
storage
ディレクトリに書き込み権限がないため。
対策1
$ php artisan config:clear
対策2
$ chmod -R 775 storage bootstrap/cache
The stream or file "storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied エラーが出たときの対処法 こちらと同様にパーミッションの場合もあります。
storage
と bootstrap/cache
の2つのディレクトリは書き込み権限を付与してあげる。