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

MOTOSHARE 🚗🏍️
Turning Idle Vehicles into Shared Rides & Earnings

From Idle to Income. From Parked to Purpose.
Earn by Sharing, Ride by Renting.
Where Owners Earn, Riders Move.
Owners Earn. Riders Move. Motoshare Connects.

With Motoshare, every parked vehicle finds a purpose. Owners earn. Renters ride.
🚀 Everyone wins.

Start Your Journey with Motoshare

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]:0Code language: HTML, XML (xml)

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 bootstrapCode language: CSS (css)

That’s All.

I hope this article helps you to solve the problem.

Thanks for reading.

Keep Exploring.