🚀 DevOps Certified Professional
📅 Starting: 1st of Every Month 🤝 +91 8409492687 | 🤝 +1 (469) 756-6329 🔍 Contact@DevOpsSchool.com

The stream or file “/opt/lampp/htdocs/testproject/storage/logs/laravel-2021-08-31.log” could not be opened in append mode: failed to open stream: Permission denied

LaravelLinux

Upgrade & Secure Your Future with DevOps, SRE, DevSecOps, MLOps!

We spend hours on Instagram and YouTube and waste money on coffee and fast food, but won’t spend 30 minutes a day learning skills to boost our careers.
Master in DevOps, SRE, DevSecOps & MLOps!

Learn from Guru Rajesh Kumar and double your salary in just one year.


Get Started Now!

Problem

I’m getting this error after migrating my laravel project to linux server, see error below

UnexpectedValueException: The stream or file "/opt/lampp/htdocs/testproject/storage/logs/laravel-2021-08-31.log" could not be opened in append mode: failed to open stream: Permission denied in file /opt/lampp/htdocs/testproject/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php on line 110
Stack trace:
  1. UnexpectedValueException->() /opt/lampp/htdocs/testproject/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:110
  2. Monolog\Handler\StreamHandler->write() /opt/lampp/htdocs/testproject/vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php:120
  3. Monolog\Handler\RotatingFileHandler->write() /opt/lampp/htdocs/testproject/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php:39
  4. Monolog\Handler\AbstractProcessingHandler->handle() /opt/lampp/htdocs/testproject/vendor/monolog/monolog/src/Monolog/Logger.php:344
  5. Monolog\Logger->addRecord() /opt/lampp/htdocs/testproject/vendor/monolog/monolog/src/Monolog/Logger.php:712
  6. Monolog\Logger->error() /opt/lampp/htdocs/testproject/vendor/laravel/framework/src/Illuminate/Log/Logger.php:176
  7. Illuminate\Log\Logger->writeLog() /opt/lampp/htdocs/testproject/vendor/laravel/framework/src/Illuminate/Log/Logger.php:87
  8. Illuminate\Log\Logger->error() /opt/lampp/htdocs/testproject/vendor/laravel/framework/src/Illuminate/Log/LogManager.php:500
  9. Illuminate\Log\LogManager->error() /opt/lampp/htdocs/testproject/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php:118
 10. Illuminate\Foundation\Exceptions\Handler->report() /opt/lampp/htdocs/testproject/app/Exceptions/Handler.php:37
 11. App\Exceptions\Handler->report() /opt/lampp/htdocs/testproject/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php:92
 12. Illuminate\Foundation\Bootstrap\HandleExceptions->handleException() [internal]:0

Solution

the error is that, Storage folder doesn’t have permission to write log files, you can run

 chmod -R o+w projectname/storage
 chmod -R o+w projectname/bootstrap

if you are using nginx then you need to use nginx user permission like below

sudo chown -R nginx:root storage
sudo chown -R nginx:root bootstrap

That’s All.

I hope this article helps you to solve the problem.

Thanks for reading.

Keep Exploring.