【问题标题】:How to fix intermittent PHP Fatal error: Unknown: Cannot find save handler '/var/lib/php/session' [duplicate]如何修复间歇性 PHP 致命错误:未知:找不到保存处理程序“/var/lib/php/session”[重复]
【发布时间】:2020-01-04 12:14:15
【问题描述】:

我的 Centos7 httpd 2.4.41 和 php 5.6.40 服务器非常间歇性地很少加载页面。 PHP 加载,但 CSS 和 JS 包含在 chrome 中获取错误“连接重置”并将此错误转储到 php 错误日志中。

PHP 致命错误:未知:找不到保存处理程序 '/var/lib/php/session'

我已经检查了会话文件的权限,并且服务器有足够的空间,它大部分时间都在工作的事实让我头疼。

我尝试切换到 memcached 但同样的问题。

任何人都可以分享导致此错误的原因吗?

或者也许是在致命错误之后堆栈跟踪 httpd PID 的方法?

提前谢谢各位。

【问题讨论】:

  • 您是否在做一些愚蠢的事情,例如在您的代码中某处调用exec('php foo.php');? CLI 调用很少使用相同的 php.ini,您可能会获得默认值,例如会话处理和其他各种恐怖。
  • 不,先生,只是运行 Symfony PHP 框架。
  • 我们今天正在经历这种情况。使用 CodeIgniter 3.1.11。 session.save_path = /phpsession 并具有适当的权限。还要在 /var/lib/php/session 上设置 perms 以防万一。似乎是随机的。

标签: php apache session redis centos7


【解决方案1】:

此问题可能与您的会话保存路径有关。如果您不知道在哪里保存会话。

编辑您的 php.ini 并更改以下内容

我们在这里使用 /tmp 目录。

session.save_path = /tmp

更多信息可以在这里找到

http://www.php.net/manual/en/session.configuration.php#ini.session.save-path

【讨论】:

  • 我以前在其他论坛上读过这个,它对我没有帮助,同样的错误。无论如何,它在 php 网站上说警告如果您将此设置保留为世界可读的目录,例如 /tmp(默认),服务器上的其他用户可能能够通过获取该目录中的文件列表来劫持会话。
猜你喜欢
  • 2015-02-07
  • 1970-01-01
  • 1970-01-01
  • 2019-08-19
  • 1970-01-01
  • 2013-10-28
  • 2014-07-29
  • 2018-07-02
  • 2011-05-02
相关资源
最近更新 更多