Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

TrX's avatar
Level 2

Internal Server Error , Laravel app on centOS

Hi, My laravel app is not working properly, the main page( Login Page ) is displayed normall but when I want to login using a username and password, I get an error. The error is: POST (The url here) 500 (internal server error). I have it running on centOS using apache server. The error log is as follows:

[Mon Jun 05 16:37:33 2017] [notice] caught SIGTERM, shutting down
[Mon Jun 05 16:37:33 2017] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Mon Jun 05 16:37:33 2017] [notice] Digest: generating secret for digest authentication ...
[Mon Jun 05 16:37:33 2017] [notice] Digest: done
[Mon Jun 05 16:37:33 2017] [notice] Apache/2.2.15 (Unix) DAV/2 PHP/5.5.38 configured -- resuming normal operations
[Mon Jun 05 16:37:35 2017] [error] [client 192.168.100.96] PHP Fatal error:  Uncaught exception 'UnexpectedValueException' with message 'The stream or file "/var/www/html/storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied' in /var/www/html/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:87\nStack trace:\n#0 /var/www/html/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php(37): Monolog\\Handler\\StreamHandler->write(Array)\n#1 /var/www/html/vendor/monolog/monolog/src/Monolog/Logger.php(336): Monolog\\Handler\\AbstractProcessingHandler->handle(Array)\n#2 /var/www/html/vendor/monolog/monolog/src/Monolog/Logger.php(615): Monolog\\Logger->addRecord(400, Object(ErrorException), Array)\n#3 /var/www/html/vendor/laravel/framework/src/Illuminate/Log/Writer.php(202): Monolog\\Logger->error(Object(ErrorException), Array)\n#4 /var/www/html/vendor/laravel/framework/src/Illuminate/Log/Writer.php(113): Illuminate\\Log\\Writer->writeLog('error', Object(ErrorException), Array)\n#5 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Ex in /var/www/html/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php on line 87
[Mon Jun 05 16:37:35 2017] [error] [client 192.168.100.96] PHP Fatal error:  Uncaught exception 'UnexpectedValueException' with message 'The stream or file "/var/www/html/storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied' in /var/www/html/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:87\nStack trace:\n#0 /var/www/html/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php(37): Monolog\\Handler\\StreamHandler->write(Array)\n#1 /var/www/html/vendor/monolog/monolog/src/Monolog/Logger.php(336): Monolog\\Handler\\AbstractProcessingHandler->handle(Array)\n#2 /var/www/html/vendor/monolog/monolog/src/Monolog/Logger.php(615): Monolog\\Logger->addRecord(400, Object(Symfony\\Component\\Debug\\Exception\\FatalErrorException), Array)\n#3 /var/www/html/vendor/laravel/framework/src/Illuminate/Log/Writer.php(202): Monolog\\Logger->error(Object(Symfony\\Component\\Debug\\Exception\\FatalErrorException), Array)\n#4 /var/www/html/vendor/laravel/framework/src/Illuminate/Log/Writer.php(113): Illuminate\\Log\\Writer->writeLog('error', Object(Symfony\\Componen in /var/www/html/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php on line 87
[Mon Jun 05 16:37:37 2017] [error] [client 192.168.100.96] PHP Fatal error:  Uncaught exception 'UnexpectedValueException' with message 'The stream or file "/var/www/html/storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied' in /var/www/html/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:87\nStack trace:\n#0 /var/www/html/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php(37): Monolog\\Handler\\StreamHandler->write(Array)\n#1 /var/www/html/vendor/monolog/monolog/src/Monolog/Logger.php(336): Monolog\\Handler\\AbstractProcessingHandler->handle(Array)\n#2 /var/www/html/vendor/monolog/monolog/src/Monolog/Logger.php(615): Monolog\\Logger->addRecord(400, Object(UnexpectedValueException), Array)\n#3 /var/www/html/vendor/laravel/framework/src/Illuminate/Log/Writer.php(202): Monolog\\Logger->error(Object(UnexpectedValueException), Array)\n#4 /var/www/html/vendor/laravel/framework/src/Illuminate/Log/Writer.php(113): Illuminate\\Log\\Writer->writeLog('error', Object(UnexpectedValueException), Array)\n#5 /var/www/html/vendor/laravel/framewor in /var/www/html/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php on line 87, referer: http://192.168.100.101/
[Mon Jun 05 16:37:37 2017] [error] [client 192.168.100.96] PHP Fatal error:  Uncaught exception 'UnexpectedValueException' with message 'The stream or file "/var/www/html/storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied' in /var/www/html/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:87\nStack trace:\n#0 /var/www/html/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php(37): Monolog\\Handler\\StreamHandler->write(Array)\n#1 /var/www/html/vendor/monolog/monolog/src/Monolog/Logger.php(336): Monolog\\Handler\\AbstractProcessingHandler->handle(Array)\n#2 /var/www/html/vendor/monolog/monolog/src/Monolog/Logger.php(615): Monolog\\Logger->addRecord(400, Object(Symfony\\Component\\Debug\\Exception\\FatalErrorException), Array)\n#3 /var/www/html/vendor/laravel/framework/src/Illuminate/Log/Writer.php(202): Monolog\\Logger->error(Object(Symfony\\Component\\Debug\\Exception\\FatalErrorException), Array)\n#4 /var/www/html/vendor/laravel/framework/src/Illuminate/Log/Writer.php(113): Illuminate\\Log\\Writer->writeLog('error', Object(Symfony\\Componen in /var/www/html/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php on line 87, referer: http://192.168.100.101/


I disabled selinux and did a reboot, it showed 'disabled' when I run 'sestatus' but still same error. Any help please?

0 likes
9 replies
phpMick's avatar

You need to add write permissions (using chmod) for

/var/www/html/storage/logs/laravel.log

1 like
TrX's avatar
Level 2

@phpMick Ok thanks but can you tell me how? I'm still new to linux commands. I want to give it access so the app will login to the other page. like will chmod 774 laravel.log do it and if I have to reboot or not after that?

EDIT:

Running chmod 774 laravel.log didn't solve the problem yet but an error, which got displayed under the login form this time, appeared. The error is:

ErrorException in Filesystem.php line 81:
file_put_contents(/var/www/html/storage/framework/sessions/656583279e4ad3b7a93011daa6173310e809b405): failed to open stream: Permission denied
phpMick's avatar

I would do a chmod 777 for the whole storage folder

chmod -R 777 storage

This should get it working but might not be the best long term solution.

Can someone suggest how these should be set on a production server?

It looks like the error is now your sessions directory.

1 like
TrX's avatar
Level 2

I did both suggestions above and it logged in fine, but now I'm getting this error when logging out in addition to the internal server error 500, also when logging out too.

Next exception 'Illuminate\Database\QueryException' with message 'SQLSTATE[HY000]: General error: 207 General SQL Server error: Check messages from the SQL Server [207] (severity 16) [(null)] (SQL: update [Tea] set [remember_token] = 88TJvnbVqjziCBbC3YLubk2kleTPljB5aZEqUS8uplrD5fHy6MF2Cr6UlBUL where [TeaID] = 51)' in /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php:669
Stack trace:
#0 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php(629): Illuminate\Database\Connection->runQueryCallback('update [Tea] se...', Array, Object(Closure))
#1 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php(434): Illuminate\Database\Connection->run('update [Tea] se...', Array, Object(Closure))
#2 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php(377): Illuminate\Database\Connection->affectingStatement('update [Tea] se...', Array)
#3 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(1904): Illuminate\Database\Connection->update('update [Tea] se...', Array)
#4 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(476): Illuminate\Database\Query\Builder->update(Array)
#5 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1555): Illuminate\Database\Eloquent\Builder->update(Array)
#6 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1474): Illuminate\Database\Eloquent\Model->performUpdate(Object(Illuminate\Database\Eloquent\Builder), Array)
#7 /var/www/html/vendor/laravel/framework/src/Illuminate/Auth/EloquentUserProvider.php(78): Illuminate\Database\Eloquent\Model->save()
#8 /var/www/html/vendor/laravel/framework/src/Illuminate/Auth/SessionGuard.php(579): Illuminate\Auth\EloquentUserProvider->updateRememberToken(Object(App\Models\User), '88TJvnbVqjziCBb...')
#9 /var/www/html/vendor/laravel/framework/src/Illuminate/Auth/SessionGuard.php(538): Illuminate\Auth\SessionGuard->refreshRememberToken(Object(App\Models\User))
#10 [internal function]: Illuminate\Auth\SessionGuard->logout()
#11 /var/www/html/vendor/laravel/framework/src/Illuminate/Auth/AuthManager.php(282): call_user_func_array(Array, Array)
#12 /var/www/html/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(215): Illuminate\Auth\AuthManager->__call('logout', Array)
#13 /var/www/html/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(215): Illuminate\Auth\AuthManager->logout()
#14 /var/www/html/app/Http/Controllers/Api/AuthController.php(53): Illuminate\Support\Facades\Facade::__callStatic('logout', Array)
#15 /var/www/html/app/Http/Controllers/Api/AuthController.php(53): Illuminate\Support\Facades\Auth::logout()
#16 [internal function]: App\Http\Controllers\Api\AuthController->postLogout()

I don't know why it's happening on logout now eventhough i gave full permission.

TrX's avatar
Level 2

I fixed the above error, there was a missing column. Tho when I logout, the previous session is not "flushed", so even if I enter a different user credentials, after login, it still displays data of the previous user and not the new current user. How can I clear everything related to the previous user on logout?

TrX's avatar
TrX
OP
Best Answer
Level 2

The errors were fixed by chmod 777 as suggested above, adding the missing "remember_token" column, and had to force the page to refresh after logout to fix the logging in again problem.

Emmanuelpcg's avatar

@TrX same here, i know that setting 777 permissions is not secure, but it was the only thing that worked on CentOS.

I tried to adjust permissions for groups and users, several settings in both php and apache, but nothing. only the 777 worked.

Please or to participate in this conversation.