我在 Drupal 8.8.5、CentOS Linux 版本 7.5.1804、PHP 7.2.19 和 HTTPD - Apache/2.4.6 上遇到了非常奇怪的行为
基本上,在更新到 8.8.5 之后(这真是令人头疼),系统在“刷新缓存”上刷新 css+js 文件时会抛出错误。
Drupal\Core\File\Exception\FileException: Failed to unlink file 'public://css/css_Y3zRgmC0P7yIXk_w_H9qyrPs3aMkKRv44SMfupbSCMc.css.gz'. in Drupal\Core\File\FileSystem->delete() (line 340 of/var/www/html/project/core/lib/Drupal/Core/File/FileSystem.php).
Warning: unlink(/var/www/html/project/sites/default/files/css/css_Y3zRgmC0P7yIXk_w_H9qyrPs3aMkKRv44SMfupbSCMc.css.gz): Permission denied in Drupal\Core\File\FileSystem->unlink() (line 124 of /var/www/html/synergie/core/lib/Drupal/Core/File/FileSystem.php)
这显然会导致糟糕的前端和管理面板行为。
我确实已经尽我所能,通过:
- 将所有 777 设置到 /var/www/html/project/sites/default 和子目录
- 更改上述目录的所有者
- 手动调试 lib/Drupal/Core/File/FileSystem.php 的第 124 和 340 行
我发现很奇怪的是,通过手动调试 FileSystem.php 上的 unlink 方法,它会导致一些奇怪的结果:
public://css/css_Y3zRgmC0P7yIXk_w_H9qyrPs3aMkKRv44SMfupbSCMc.css.gz:可读可写
/var/www/html/project/sites/default/files/css/css_Y3zRgmC0P7yIXk_w_H9qyrPs3aMkKRv44SMfupbSCMc.css.gz:可读但不可写
一些注意事项: - httpd 在 apache 用户和 apache 组上运行
我已尝试对/var/www/html/project/sites/的每个目录和子目录进行文件夹和写入权限以及所有者和组的所有可能组合/p>
我已经尝试按照这些说明进行操作:Web Archive
我还运行了这个“文件夹和文件权限脚本”:Drupal Website
您有什么想法或建议吗?我不能超过这个
最佳答案
听起来像 SELinux 阻塞...
找到SELinux的当前模式并暂时关闭它。
Getenforce # see current mode.
Sudo setenforce 0 # shut it down.
尝试你的东西。如果是这样,只需添加规则以允许/var/www/your Docroot 等位置
关于php - Drupal 8.8.5 上奇怪的文件/文件夹权限错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61414218/