我有启用了selinux的centos 7运行nginx / php-fpm。
我知道互联网上有很多类似的问题,但是我的却有些不同。 通过nginx设置selinux之后,正在创建文件,但它仍然说无法读取...
tail /var/log/nginx/error.log
2015/10/07 16:18:25 [error] 17860#0: *79 FastCGI sent in stderr:"PHP message: PHP Warning: session_start(): open(/var/lib/php/session/sess_sk456vdemnp391spiv3i622i96, O_RDWR) failed: Permission denied (13) in /home/web/api/functions.php on line 9
ls -la / var / lib / php / session /
total 12 drwxrwx---+ 2 nginx nginx 82 Oct 7 16:18 . drwxr-xr-x. 3 root root 20 Oct 5 15:58 .. -rw-------+ 1 nginx nginx 0 Oct 7 16:15 sess_52psgccceh91vokbau4pq08946 -rw-------+ 1 nginx nginx 0 Oct 7 16:18 sess_sk456vdemnp391spiv3i622i96
- php-fpm和nginx的用户为" nginx" *已更改selinux策略,以允许访问会话文件夹
您知道我应该检查哪个日志以找出问题所在吗?
谢谢我发现了问题!
我的/var/lib/php/session是system_u:object_r:httpd_sys_content_t:s0而不是system_u:object_r:httpd_sys_rw_content_t:s0。 这使得Nginx无法编辑内容(只能创建)。
解决问题: 1-重置文件夹策略:
restorecon -v"/var/lib/php/session"
2-然后设置好一个
semanage fcontext -a -t httpd_sys_rw_content_t /var/lib/php/session
您甚至不必重新加载/重启nginx:P
遇到同样的问题。 就我而言,解决方案是将目录的所有者更改为nginx