由于权限错误,PHP无法保存会话

前端之家收集整理的这篇文章主要介绍了由于权限错误,PHP无法保存会话前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道这个问题之前一定是被问到(并回答过),但我无法在任何问题中找到解决问题的方法.这有点奇怪……问题是我的 PHP脚本(和我的Apache服务器)无法写入我系统上的文件夹.一点也不.

例如,运行脚本时出现以下错误

Fatal error: Uncaught exception ‘Zend_Session_Exception’ with message
‘Zend_Session::start() –
/var/www/subdomains/vmb/vendor/zendframework/zendframework1/library/Zend/Session.PHP(Line:482):
Error #2 session_start():
open(/var/www/subdomains/vmb/application/../var/session/sess_ingph33ir4shr1e60kkifp37s7,
O_RDWR) Failed: Permission denied (13)

我有一个带有CentOS 7,Apache2.4,PHP5.6(使用apache PHP mod运行)和其他一些东西的VPS. Apache以用户apache和组apache运行(如httpd.conf文件中所设置).我已将/etc/PHP.ini和/etc/httpd/conf.d/PHP.conf中的session_path设置为/ tmp / PHPsessions,并将chown’d / chmod’此文件夹设置为apache:apache 777.上面的示例存储另一个文件夹中的会话(也称为/ chmod’作为apache:apache 777),但我得到了其他文件夹的相同错误.

所以我的apache服务器运行为apache:apache,我将文件重命名为apache:我需要的apache甚至是777权限Apache无法写入这些文件夹.

你见过这样的东西吗?我以前没…

假设权限和所有权都没问题,我相信这与SELinux有关.

快速而肮脏的方式:…假设你在运行getenforce时获得Permissive,尝试通过运行setenforce 0来禁用SELinux并再次点击你的脚本,如果它工作那么它是SELinux,你可以从那里禁用它(不推荐) )或通过运行setenforce 1重新打开它并检查你的/var/log/audit/audit.log并努力寻找最终解决方案.

猜你在找的PHP相关文章