Symfony 3.1.5 Warning: SessionHandler::read(): Session data file is not created by your uid
Solution 1
Editing config/config.yml
and replacing save_path: "%kernel.root_dir%/../var/sessions/%kernel.environment%"
with save_path: /var/lib/php/sessions
fixed the error.
If you use an editor/IDE that automatically converts spaces to tabs, be sure to disable that feature before saving your changes. Failure to do so may cause a 'does not contain valid YAML' error to occur.
Solution 2
I had the same problem. The fix that worked for me is to change var/sessions
owner to www-data:www-data
(same user/group for php-fpm sub-processes) :
sudo chown -R www-data:www-data var/sessions/
Solution 3
AVOID change prod configuration for troubles that only occurs in development environment
Had the Same trouble when using Vagrant (PHP-FPM 7 + Nginx) with a sync folder (/vagrant ~ default)
Solved just put
session:
save_path: '/tmp'
on config_dev.yml inside framework entry
Just choose some place that Webserver and PHP can read/write without permission issues.
Solution 4
If Magento 2 generates this warning,
Just delete already existed session inside var/session
folder and its fixed.
Solution 5
In my case, *removing browser cookies fixed the issue. I didn't do any of the step mentioned above and tried to change permissions and all but no that wasn't the problem. I've faced problem on magento.
Comments
-
marcusnjones almost 2 years
I'm running Symfony 3.1.5 on a Ubuntu 14.04, PHP 7.1 and Apache 2.4.23 stack managed by Vagrant 1.8.6/VirtualBox 5.1.6. I'm trying to use a simple controller I've made to render a response on my frontend:
<?php namespace AppBundle\Controller; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; use Symfony\Component\BrowserKit\Response; class LandingController { /** * @Route("/", name="homepage") */ public function showAction(){ return new Response('This is the landing page!'); } }
When I attempt to access my Symfony frontend via
/app_dev.php
I see:Warning: SessionHandler::read(): Session data file is not created by your uid 500 Internal Server Error - ContextErrorException
My Apache log reads:
CRITICAL - Uncaught PHP Exception Symfony\Component\Debug\Exception\ContextErrorException: "Warning: SessionHandler::read(): Session data file is not created by your uid" at /var/www/conan/var/cache/dev/classes.php line 366
The Symfony dev log reads:
==> /var/www/conan/var/logs/dev.log <== [2016-10-11 14:23:04] request.INFO: Matched route "{route}". {"route":"homepage","route_parameters":{"_controller":"AppBundle\\Controller\\LandingController::showAction","_route":"homepage"},"request_uri":"http://conan.dev/app_dev.php/","method":"GET"} [] [2016-10-11 14:23:04] request.CRITICAL: Uncaught PHP Exception Symfony\Component\Debug\Exception\ContextErrorException: "Warning: SessionHandler::read(): Session data file is not created by your uid" at /var/www/conan/var/cache/dev/classes.php line 366 {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\ContextErrorException(code: 0): Warning: SessionHandler::read(): Session data file is not created by your uid at /var/www/conan/var/cache/dev/classes.php:366)"} []
Seeing as this appears to be a session related issue, I've referred to the Symfony documentation for Session Management. It states:
Symfony sessions are incompatible with php.ini directive session.auto_start = 1 This directive should be turned off in php.ini, in the webserver directives or in .htaccess.
session.auto_start = 0
in myphp.ini
and the file is owned by user and grouproot
:$ ls -lta /etc/php/7.1/fpm/php.ini -rw-r--r-- 1 root root 70584 Sep 30 07:29 /etc/php/7.1/fpm/php.ini
I've tried creating an
.htaccess
(which I placed in myDocumentRoot
) per the instructions in the Symfony documentation, but the error persists.I've searched several threads and questions for a solution but have not landed on anything. Any ideas what is causing this?