在ovh共享服务器上使用Symfony 2.8丢失会话

时间:2016-12-05 12:12:06

标签: php symfony session fosuserbundle ovh

我使用Symfony 2.8和FOSUserBundle 2.我已经在ovh上升级了我的报价,并且我的php配置的一些元素发生了变化。我有一个很大的问题,因为我的用户无法连接到网站(大约5分钟后它就会断开连接)。它是一个拥有大约8000名成员的协会网站,每个成员都可以连接...... 之前,会话在一个特殊的文件夹(app / var / session)中写入。知道它应该写在缓存文件夹中,但它没有。

我在www文件夹和包含以下内容的项目文件夹中有一个htaccess:

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

在我的config.yml中,我有:

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

作为信息,这是我的composer.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 个答案:

答案 0 :(得分:0)

由于我无法使其工作,我终于发现我可以使用pdo处理程序管理数据库中的会话。我不相信这是最好的解决方案,但仍然是一个解决方案。 有关进一步说明,请查看symfony doc pdo_session_storage