PHP.ini 自定义 session.save_path 权限被拒绝

PHP.ini 自定义 session.save_path 权限被拒绝

我用

  • Centos 7(最新更新)
  • Apache 2.4.6
  • PHP 7.2

我想更改服务器上存储会话的目录,默认目录是/var/lib/php/session/,我可以毫无问题地使用这个目录,但是当我更改PHP.ini文件中的目录时,出现错误:

session_start(): open(/var/www/session/sess_dug784eu96aj06eh1gte4hak2f, O_RDWR) failed: Permission denied (13)

我还在php.conf里面进行了编辑/etc/httpd/conf.d并删除了此行以阻止会话目录被覆盖:

php_value session.save_path    "/var/lib/php/session"

如您所见,我使用/var/www/session/新目录来存储会话,并且该目录存在并具有与默认目录完全相同的权限:

0770 / owner : root / group : Apache

我还尝试将现有会话文件从默认目录复制到新目录,但仍然出现相同的错误!

感谢您的帮助。

答案1

好的,我找到了解决方案,谢谢@womble 指出问题所在,我至少可以用正确的方式进行搜索,

如果其他人遇到同样的问题,则必须禁用 SELinux(不推荐),或者必须将其配置为允许 Apache 访问新目录:

chcon -t httpd_sys_rw_content_t /var/www/session -R

相关内容