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 my php.ini
and the file is owned by user and group root
:
$ 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 my DocumentRoot
) 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?
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With