简体   繁体   English

PHP会话不存储/保存 - php-fpm / nginx / phpmyadmin / centos6

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

I have recently moved to a new server and now all of a sudden my PHP session variables are not storing. 我最近搬到了一个新的服务器,现在突然间我的PHP会话变量没有存储。

I have installed nginx and php-fpm and both seem to work as I can perform other php operations. 我已经安装了nginx和php-fpm,两者似乎都可以工作,因为我可以执行其他php操作。

I know my code is fine, because it has worked perfectly on the past 5 servers I have deployed it on. 我知道我的代码很好,因为它在我部署它的过去5台服务器上运行得很好。

For some reason I am unable to store session variables. 由于某种原因,我无法存储会话变量。

phpMyAdmin returns this phpMyAdmin返回此信息

"phpMyAdmin - Error Cannot start session without errors, please check errors given in your PHP and/or webserver log file and configure your PHP installation properly. Also ensure that cookies are enabled in your browser." “phpMyAdmin - 错误无法启动会话而没有错误,请检查PHP和/或Web服务器日志文件中给出的错误并正确配置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

I have done some research and it seems that it may be a possible permission error? 我做了一些研究,似乎可能是一个可能的权限错误? There isn't much documentation or any for that matter regarding this problem. 关于这个问题,没有太多文件或任何关于此问题的文件。 It seems to be a very unique problem especially considering I have done many web server configurations and this is the first time I am experiencing this. 这似乎是一个非常独特的问题,特别是考虑到我已经完成了许多Web服务器配置,这是我第一次遇到这个问题。

I was hoping maybe someone here with a little more expertise could shed some light. 我希望也许这里有更多专业知识的人可以解释一下。

You need to flush your browser cache, delete the cookies for the server/host and then retry loading phpMyAdmin. 您需要刷新浏览器缓存,删除服务器/主机的cookie,然后重试加载phpMyAdmin。

If you want to go all out, clear out the session folder on the server as well. 如果您想全力以赴,请清除服务器上的会话文件夹。

One possible reason for this is a session data mismatch between the browser and the webserver causing it to not be able to pull out the required session info and dumping this error dialogue on your lap. 一个可能的原因是浏览器和网络服务器之间的会话数据不匹配导致它无法提取所需的会话信息并将此错误对话转储到您的膝盖上。

Another problem can be due to file and folder permissions; 另一个问题可能是文件和文件夹权限; You can try changing the folder permissions: 您可以尝试更改文件夹权限:

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

This will set full read/write permissions on the PHP sessions folder. 这将在PHP会话文件夹上设置完全读/写权限。

Note: the php/session/ folder may be in a different location on some servers. 注意:php / session /文件夹可能位于某些服务器上的不同位置。 Check your php.ini for your session path. 检查你的php.ini是否有你的会话路径。

Although that works it should not be done as it is insecure. 虽然这是有效的,但不应该做,因为它是不安全的。 The correct method in my case was to change the group of the PHP sessions folder to the user running the webserver. 在我的情况下,正确的方法是将PHP会话文件夹的组更改为运行Web服务器的用户。 In my case I'm using nginx so I'll use sudo chown root:nginx /var/lib/php/session/ 在我的情况下我使用nginx所以我将使用sudo chown root:nginx /var/lib/php/session/

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM