PHP 会话不 Storing/Saving - php-fpm/nginx/phpmyadmin/centos6

PHP Sessions Not Storing/Saving - php-fpm/nginx/phpmyadmin/centos6

我最近搬到了一个新服务器,现在我的 PHP 会话变量突然没有存储。

我已经安装了 nginx 和 php-fpm,两者似乎都能正常工作,因为我可以执行其他 php 操作。

我知道我的代码很好,因为它在我部署它的过去 5 台服务器上运行良好。

出于某种原因,我无法存储会话变量。

phpMyAdmin returns 这个

"phpMyAdmin - 错误 无法正常启动会话,请检查 PHP and/or 网络服务器日志文件中给出的错误并正确配置 PHP 安装。还要确保在您的浏览器中启用了 cookie。"

Here is my php error log which shows some errors in regards to the session storage.



[14-Jan-2016 06:41:47] PHP Warning:  session_start(): open(/var/lib/php/session/sess_ocjdclils55719l5ri9ue5aqu3, O_RDWR) failed: No such file or directory (2) in /usr/share/nginx/athenalayer/control-panel/checklogin.php on line 3
[14-Jan-2016 06:41:47] PHP Warning:  Unknown: open(/var/lib/php/session/sess_ocjdclils55719l5ri9ue5aqu3, O_RDWR) failed: No such file or directory (2) in Unknown on line 0
[14-Jan-2016 06:41:47] PHP Warning:  Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php/session) in Unknown on line 0
[14-Jan-2016 06:41:50] PHP Warning:  session_start(): open(/var/lib/php/session/sess_ocjdclils55719l5ri9ue5aqu3, O_RDWR) failed: No such file or directory (2) in /usr/share/nginx/athenalayer/control-panel/checklogin.php on line 3
[14-Jan-2016 06:41:51] PHP Warning:  Unknown: open(/var/lib/php/session/sess_ocjdclils55719l5ri9ue5aqu3, O_RDWR) failed: No such file or directory (2) in Unknown on line 0
[14-Jan-2016 06:41:51] PHP Warning:  Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php/session) in Unknown on line 0
[14-Jan-2016 06:42:44] PHP Warning:  session_start(): open(/var/lib/php/session/sess_ocjdclils55719l5ri9ue5aqu3, O_RDWR) failed: No such file or directory (2) in /usr/share/nginx/athenalayer/control-panel/checklogin.php on line 3
[14-Jan-2016 06:42:44] PHP Warning:  Unknown: open(/var/lib/php/session/sess_ocjdclils55719l5ri9ue5aqu3, O_RDWR) failed: No such file or directory (2) in Unknown on line 0
[14-Jan-2016 06:42:44] PHP Warning:  Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php/session) in Unknown on line 0
[14-Jan-2016 06:49:16] PHP Warning:  session_start(): open(/var/lib/php/session/sess_ocjdclils55719l5ri9ue5aqu3, O_RDWR) failed: No such file or directory (2) in /usr/share/nginx/athenalayer/test.php on line 2
[14-Jan-2016 06:49:16] PHP Warning:  Unknown: open(/var/lib/php/session/sess_ocjdclils55719l5ri9ue5aqu3, O_RDWR) failed: No such file or directory (2) in Unknown on line 0
[14-Jan-2016 06:49:16] PHP Warning:  Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php/session) in Unknown on line 0
[14-Jan-2016 06:49:18] PHP Warning:  session_start(): open(/var/lib/php/session/sess_ocjdclils55719l5ri9ue5aqu3, O_RDWR) failed: No such file or directory (2) in /usr/share/nginx/athenalayer/test.php on line 2
[14-Jan-2016 06:49:18] PHP Warning:  Unknown: open(/var/lib/php/session/sess_ocjdclils55719l5ri9ue5aqu3, O_RDWR) failed: No such file or directory (2) in Unknown on line 0
[14-Jan-2016 06:49:18] PHP Warning:  Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php/session) in Unknown on line 0
[14-Jan-2016 06:49:23] PHP Warning:  session_start(): open(/var/lib/php/session/sess_ocjdclils55719l5ri9ue5aqu3, O_RDWR) failed: No such file or directory (2) in /usr/share/nginx/athenalayer/control-panel/checklogin.php on line 3
[14-Jan-2016 06:49:23] PHP Warning:  Unknown: open(/var/lib/php/session/sess_ocjdclils55719l5ri9ue5aqu3, O_RDWR) failed: No such file or directory (2) in Unknown on line 0
[14-Jan-2016 06:49:23] PHP Warning:  Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php/session) in Unknown on line 0
[14-Jan-2016 06:49:27] PHP Warning:  session_start(): open(/var/lib/php/session/sess_ocjdclils55719l5ri9ue5aqu3, O_RDWR) failed: No such file or directory (2) in /usr/share/nginx/athenalayer/control-panel/checklogin.php on line 3
[14-Jan-2016 06:49:28] PHP Warning:  Unknown: open(/var/lib/php/session/sess_ocjdclils55719l5ri9ue5aqu3, O_RDWR) failed: No such file or directory (2) in Unknown on line 0

我查了一下,好像是权限错误?关于此问题,没有太多文档或任何与此相关的文档。这似乎是一个非常独特的问题,特别是考虑到我已经完成了很多 Web 服务器配置,这是我第一次遇到这个问题。

我希望这里可能有更多专业知识的人可以阐明一些问题。

您需要刷新浏览器缓存,删除 server/host 的 cookie,然后重试加载 phpMyAdmin。

如果你想全力以赴,把服务器上的session文件夹也清空。

一个可能的原因是浏览器和网络服务器之间的会话数据不匹配导致它无法提取所需的会话信息并将此错误对话转储到您的腿上。

另一个问题可能是由于文件和文件夹权限;您可以尝试更改文件夹权限:

sudo chmod 777 /var/lib/php/session/

这将在 PHP 会话文件夹上设置完全 read/write 权限。

注意:php/session/ 文件夹在某些服务器上可能位于不同的位置。检查您的 php.ini 以获取您的会话路径。

虽然这可行,但不应该这样做,因为它不安全。在我的例子中,正确的方法是将 PHP 会话文件夹的组更改为用户 运行 网络服务器。在我的例子中,我使用的是 nginx,所以我将使用 sudo chown root:nginx /var/lib/php/session/