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

2024-04-18

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

PHP 致命错误:session_start():无法初始化存储 模块:用户(路径:[我的 php.ini 路径中的任何内容])

我使用的驱动程序不使用 php.ini 中设置的值,无论我是否在 php.ini 中将 session.save_handler 设置为文件、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 (7.0.0-2+deb.sury.org~wily+1) 上的最新 Ondřej Surý PPA 都遇到过这个问题。我在 CodeIgniter 和 Symfony 上遇到过这个问题,并且无论框架中使用的驱动程序类型(文件、数据库、redis)或 php.ini 中设置的 session.save_handler (这应该是无关紧要的),都遇到过这个问题在这里,但只是认为应该提及)。我不断尝试组合并把东西扔到野外,这个问题每次都会发生(有时需要 12 个多小时,具体取决于网站的流量)。

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


open()会话处理程序的函数不返回布尔值 TRUE,这显然意味着某种失败。

可能是无法连接到数据库、无法打开文件、不存在的目录等等 - 这取决于会话处理程序实际使用的内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP 7 用户会话问题 - 无法初始化存储模块 的相关文章

随机推荐

  • 黑色视频 CAAnimation 和 AVFoundation AVAssetExportSession

    我是整个 AVFoundation 视频编辑电路的新手 我当前的测试应用程序是一个双屏幕应用程序 第一个屏幕执行 AVFoundation 视频录制 1 mov 第二个屏幕可让您查看视频并使用 CAAnimation 在其上添加一些标题 1
  • Windows 窗体中的本机外观(类似资源管理器)主菜单

    除了使用 MenuStrip 之外 还有其他方法在 C 中创建主菜单吗 它看起来与标准资源管理器菜单不相似 我在这里做错了什么吗 我只想要标准应用程序主菜单 例如浏览器菜单 听起来您想要一个尊重操作系统主题的菜单 MainMenu 类将执行
  • 使用 Android 应用程序访问 SIM 卡?

    我想知道是否可以使用 Android 应用程序访问 SIM 卡 你可以像这样获取 IMEI 但这是你想要的吗 只是一个例子 mTelephonyMgr TelephonyManager getSystemService Context TE
  • API 平台 - 我应该使用哪种方法来创建没有实体的自定义操作

    我是 API 平台的新手 我认为这很棒 但我找不到任何示例如何创建不基于任何实体的自定义端点 有很多基于实体的示例 通常都是关于 CRUD 的 但是自定义操作呢 我需要使用一些与任何实体无关的自定义参数通过数据库创建自定义搜索 例如 我想接
  • ASP中,位运算符左移和右移

    有谁知道左移和右移运算符示例吗 我是 ASP 新手 我发现了位运算符 例如 AND OR NOT 等等 对于 vbscript 左移是通过乘法完成的 即 var 2 左移一个位置 var 4 左移两个位置等 右移是通过除法完成 即 var
  • Zend Framework 2 的多个表

    我是 Zend Framework 2 的新手 我成功完成了 ZF2 的专辑教程 现在我想仅显示数据库中多个表中的某些数据 我有一个简单的数据库设置 其中包含表格 例如人员 书籍 状态等 数据库应该做什么并不重要 我想知道是否有一个教程可以
  • 从 C 代码获取当前使用的文件描述符的计数

    是否有 C API 可以获取 系统范围内当前使用的文件描述符 当前进程当前使用的文件描述符 对于当前进程计数 您可以使用getrlimit获取文件描述符限制 然后迭代从 0 到该限制的所有整数并尝试调用fcntl与F GETFD命令 它只会
  • PubNub:将所有已发布消息记录到我的数据库的正确方法是什么

    记录每条已发布消息并将其保存到我的服务器数据库的正确方法是什么 我能想到的有两种选择 使用PubNub功能发布事件后并将消息转发到专用记录器通道 服务器将订阅该频道并将到达的消息保存到数据库 这里又产生一个问题 当我在PubNub函数中将消
  • 使用 ActiveRecord 和 Rails 3 进行复杂 JOIN

    我有以下型号 class User lt ActiveRecord Base has many memberships has many groups through gt memberships end class Group lt Ac
  • 如何在 C# 中旋转标签? [复制]

    这个问题在这里已经有答案了 我想显示一个旋转 90 度的标签 这样我就可以将它们中的一堆作为标题放在表格的顶部 是否有捷径可寻 您需要编写自己的控件或使用自定义控件 A 代码项目 http en wikipedia org wiki The
  • Qt 和 Google 地球 API

    是否可以使用 Google Earth 在 Qt 中开发应用程序 例如 我想在我的应用程序中通过 QtGL 将地球 如谷歌地球 显示为球体 很明显 您可以在 Qt 中使用 google Earth api 我想分享一个秘密 Google E
  • AABB 碰撞解决滑动边

    因此 我目前正在重新发明轮子 并学到很多东西 尝试为我的游戏引擎制作一个简单的物理引擎 我一直在互联网上搜索 尝试 但失败 解决我当前的问题 关于这个主题有很多资源 但我发现的资源似乎都不适用于我的情况 问题简而言之 当两个矩形碰撞时 碰撞
  • 如何对选择器输入中的选项进行文本换行,如果选项的长度很长,则选项通常会出现在屏幕之外

    pickerInput 中的选择始终位于单行中 有没有办法可以将它们带到下一行 当选择的长度很长导致选择超出屏幕时 这是一个问题 我特别需要 pickerInput 因为它具有实时搜索 全选 取消全选功能 library shiny lib
  • gcc -lpthread 不工作

    我的系统中安装了 ubuntu 11 我有一个使用 pthread 库的 C 程序 我收到错误Undefined reference to sem wait 即使我已经用标志编译了 lpthread 例如 gcc lpthread prog
  • 如何在 drools 规则引擎中动态更新规则

    我正在开发 drools 规则引擎 在这个场景中将 when 块中的值从 1000 更改为 2000 将符号从 gt 更改为 rule payment when account Paymentinfo transaction lt 1000
  • 使用python将数据写入谷歌云存储

    我找不到使用 python 将本地计算机中的数据集写入谷歌云存储的方法 我进行了很多研究 但没有找到任何与此相关的线索 需要帮助 谢谢 简单的例子 使用谷歌云 https googlecloudplatform github io goog
  • 使用 GTK 构建 GUI#

    我可能需要使用 C 和 Mono 构建 GTK GUI 如果我理解正确的话 这意味着我有3个选择 编写 C 代码来调用 GTK 包装器类 GUI 是 在代码中 使用 MonoDevelop GUI 设计器 这使用 stetic 标记构建了一
  • 在 Xamarin.Forms 中编写设备平台特定的代码

    我有以下内容Xamarin Forms ContentPage类结构 public class MyPage ContentPage public MyPage do work to initialize MyPage public voi
  • 在 Apps 脚本上创建新触发器时收到错误

    尝试创建新触发器时收到此错误 脚本授权失败 请检查您的弹出窗口阻止程序设置 然后重试 已尝试允许该网站接受弹出窗口 甚至关闭弹出窗口阻止程序 但没有产生任何影响 有人有解决办法吗 我遇到了同样的问题 并设法通过首先从脚本编辑器手动执行我的脚
  • PHP 7 用户会话问题 - 无法初始化存储模块

    在 PHP 7 0 中使用各种 PHP 框架会话驱动程序时存在错误 我最初在使用 CodeIgniter 数据库驱动程序时遇到了这个问题 并认为这是一个 CodeIgniter 问题 但后来在多个会话驱动程序和多个框架上遇到了这个问题 此时