nginx php7 phpmyadmin session_start(): open(SESSION_FILE, O_RDWR) failed: No such file or directory
一般出现这种情况,都是session.save_path赋值的问题,可能session的保存位置为空,也可能目标地址不存在,还可能是权限问题,我们需要一个一个的排查。
顺便再说一下,“session.save_path”是在php.ini设置的,大家可以去自己的php.ini查看相应的配置。
解决办法:
通过上面可以清楚的知道原因,自然解决就容易多了,根据我多年的经验,很多人遇到这种情况通常都是权限以及session保存位置的问题,赋值的问题几乎没有。
1、根据上面所报的错误,首先我们去看“/var/lib/php/session”这个目录是否存在?当然,我这里是没有session这个目录的,需要自己建立。
- cd /var/lib/php
- mkdir session
2、session目录已经建立好了,“/var/lib/php/session”路径也已经存在了,但是浏览器访问phpmyadmin依然报错,接下来就看此路径的权限是否有问题?如果大家有不明白权限的,建议直接给777权限吧。
- cd /var/lib
- chmod -R 777 php
3、再次重新浏览器访问phpmyadmin果然已经恢复正常,可以进入mysql数据库了。
以上都检查无误后,再看下 php.ini 的 user 和 nginx.conf user ,目录的chown 属主用户是否一致。。。