Потерянный сеанс с Symfony 2.8 на совместимом сервере ovh


Я использую Symfony 2.8 с FOSUserBundle 2. Я обновил свое предложение на ovh, и некоторые элементы моей конфигурации php изменились. У меня большая проблема, потому что мои пользователи не могут подключиться к веб-сайту (он отключается примерно через 5 минут). Это веб-сайт ассоциации, насчитывающей около 8000 членов, и каждый член может подключиться... Раньше сеанс записывался в специальную папку (app/var/session). Знаю, что он должен записываться в папку кэша, но это не так.

У меня есть htaccess в папке www и в папке проекта, которая содержит:

SetEnv SHORT_OPEN_TAGS 0
SetEnv REGISTER_GLOBALS 0
SetEnv MAGIC_QUOTES 0
SetEnv SESSION_AUTOSTART 0
SetEnv ZEND_OPTIMIZER 1
SetEnv PHP_VER 5_6

В моем файле конфигурации.yml у меня есть:

    session:
        cookie_lifetime: ~
        # handler_id: session.handler.native_file
        # save_path: '%kernel.root_dir%/var/sessions'

В качестве информации, это часть моего композитора.json:

"require": {
    "php": ">=5.3.9",
    "symfony/symfony": "2.8.*",
    "doctrine/orm": "^2.4.8",
    "doctrine/doctrine-bundle": "~1.4",
    "twig/extensions": "1.4.*",
    "symfony/assetic-bundle": "2.8.*",
    "symfony/swiftmailer-bundle": "~2.3",
    "symfony/monolog-bundle": "~2.11.3",
    "sensio/distribution-bundle": "~5.0",
    "sensio/framework-extra-bundle": "^3.0.2",
    "sensio/generator-bundle": "~3.0@dev",
    "incenteev/composer-parameter-handler": "~2.0",
      "symfony/dom-crawler" :"3.2.*",
    "friendsofsymfony/user-bundle": "~2.0@dev",
    "gregwar/image-bundle": "dev-master"
},
"require-dev": {
    "leafo/lessphp": "0.5.0",
    "sensio/generator-bundle": "~3.0",
    "symfony/phpunit-bridge": "~2.7"
},

Мой кэш и мои папки журналов находятся в chmod-R 777 Он отлично работает (это означает, что файл сеанса создается в папке кэша) при развертывании на локальном компьютере. Это все еще не работает (то есть файл сеанса не создан), если я введу прямой URL-адрес вместо www.mydomain.com (так что это не проблема конфигурации мультисайтов ovh). Это также не работает, когда я нахожусь в среде разработки. Если я посмотрю в журналы, я не увижу никакой ошибки.
Наверняка, существует неправильная конфигурация php. Мне не хватает какого-то важного набора переменных php? Есть идеи?
Большое спасибо.

Author: fecou, 2016-12-05

1 answers

Поскольку я не мог заставить это работать, я, наконец, обнаружил, что могу управлять сеансами в базе данных с помощью обработчика pdo. Я не уверен, что это лучшее решение, но ilt все еще является решением. Для дальнейшего объяснения взгляните на документ symfony pdo_session_storage

 0
Author: fecou, 2016-12-06 16:37:07