Потерянная сессия с Symfony 2.8 на сервере OVH mutualized
Я использую 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 multisites).
Он также не работает, когда я нахожусь в среде разработчиков.
Если я посмотрю в журналах, то не увижу никакой ошибки.
Конечно, существует неправильное конфигурирование php. Я пропустил какой-то важный набор переменных php ? Есть Идеи ?
Большое спасибо.
1 ответ:
Поскольку я не мог заставить его работать, я, наконец, обнаружил, что могу управлять сеансами в базе данных с помощью PDO-обработчика. Я не уверен, что это лучшее решение, но ilt все еще является решением. Для дальнейшего объяснения взгляните на symfony doc pdo_session_storage