【问题标题】:Symfony 3 Error: session_start(): Failed to initialize storage module: user (path: ) 500 Internal Server Error - FatalErrorExceptionSymfony 3 错误:session_start():无法初始化存储模块:用户(路径:) 500 内部服务器错误 - FatalErrorException
【发布时间】:2017-05-24 20:01:25
【问题描述】:

我正在尝试在 Symfony 3 (http://symfony.com/doc/current/doctrine/pdo_session_storage.html) 中配置会话,但出现此错误:

Error: session_start(): Failed to initialize storage module: user (path: )
500 Internal Server Error - FatalErrorException

Stack Trace

in var/cache/dev/classes.php at line 113 

110. if (ini_get('session.use_cookies') && headers_sent($file, $line)) {
111.     throw new \RuntimeException(sprintf('Failed to start the session because headers have already been sent by "%s" at line %d.', $file, $line));
112. }
113. if (!session_start()) {
114.     throw new \RuntimeException('Failed to start the session');
115. }
116. $this->loadSession();

你有什么想法,为什么会发生?

【问题讨论】:

  • 您是否将会话保存路径检查到 ini 文件中,它没有被注释?
  • 是的,我查过了,设置为 session.save_path = /tmp phpinfo() 也确认了。
  • 您检查过 PDO 连接吗?连接了吗?
  • 是的,我已经检查过了,我已经尝试从脚本创建表格
  • 仅供参考,我正在使用 docker php-fpm(我在这个容器中进行的所有 symfony/php 配置)+ docker mariadb(使用套接字,也可以从 php-fpm 访问套接字文件容器),也许这将有助于更好地了解环境。 PHP-FPM - 7.1.0,Mariadb - 10.1.13

标签: php symfony session


【解决方案1】:

我最近在 docker 容器中运行 symfony 时遇到了类似的问题。就我而言,原因是 PdoSessionHandler 无法连接到数据库。在官方教程中,他们展示了一个在 DSN 中没有主机密钥的示例,这可能适用于大多数安装。最后我的服务定义是这样的:

Symfony\Component\HttpFoundation\Session\Storage\Handler\PdoSessionHandler:
    arguments:
        - 'mysql:dbname=%database_name%;host=%database_host%'
        - { db_username: '%database_user%', db_password: '%database_password%' }

希望对大家有所帮助!

【讨论】:

  • 谢谢,这周我会检查并通知您。
【解决方案2】:

我找到了解决方案。 在我的数据库服务器的 docker 配置中,我使用的是套接字,所以我只需要将它添加到我的 config.yml 文件中:

parameters:
    database_unix_socket: /.../mysqld.sock

然后在教义.dbal.unix_socket 中使用这个配置:

doctrine:
    dbal:
        unix_socket: '%database_unix_socket%'

干杯, 伊万。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多