小编DrB*_*uce的帖子

PHP 7用户会话问题 - 无法初始化存储模块

在PHP 7.0中使用各种PHP框架会话驱动程序时存在错误.我最初在使用CodeIgniter数据库驱动程序时遇到了这个问题,并假设它是一个CodeIgniter问题,但后来在多个会话驱动程序和多个框架上经历过它.在这一点上,我已经安全地得出结论,会话驱动程序的类型是无关紧要的 - 看似随机,应用程序将崩溃,日志(我已经尝试过Apache和php-fpm + nginx)填满了以下内容:

PHP致命错误:session_start():初始化存储模块失败:用户(路径:[无论我在php.ini路径中有什么])

我正在使用的驱动程序不使用php.ini中设置的值,无论我是否将session.save_handler设置为php.ini中的文件,redis等,而不管我设置的路径(Redis服务器,如果redis,完全 - 启用文件的可写文件夹)发生错误.除非在框架之外的php文件中调用本机"session_start()",否则永远不应该触发此处的路径.此外,在框架之外调用"session_start()"工作正常......所以很明显PHP可以访问路径.就好像在某些时候,会话驱动程序变成了框架驱动程序和php.ini中设置的混合体.session.save_handler的错误消息总是有"user",所以显然不是从php.ini中提取的......但路径是.为什么会这样?这是一个难以描述的问题之一,直到你经历过......并且它很难重现,因为即使数百个会话(直到它突然停止工作),一切似乎都能正常工作.重新启动Apache也无法解决问题 - 这里有许多问题,我最终只是重新启动机器以避免停机.显然PHP 7机器现在将从负载平衡器轮换中退出......但我希望现在能够解决问题.

我经历过自己编译的PHP 7.0 RC5,RC6和RC8以及Ubuntu 15.10 Wily上最新的OndřejSurýPPA(7.0.0-2 + deb.sury.org~wily + 1)的问题.我在CodeIgniter和Symfony上遇到过这个问题,并且无论框架中使用的驱动程序类型(文件,数据库,redis)还是php.ini中设置的session.save_handler(都应该是不相关的)都遇到过这个问题.这里,但只是认为应该提到).我一直在尝试组合并在野外扔东西,这个问题每次都会发生(有时需要12个小时以上,具体取决于网站的流量).

感谢您的任何帮助,您可以提供!我愿意接受建议,并愿意在这一点上尝试任何事情.

php session codeigniter fatal-error php-7

3
推荐指数
3
解决办法
4万
查看次数

标签 统计

codeigniter ×1

fatal-error ×1

php ×1

php-7 ×1

session ×1