我最近将我的Drupal核心从6.15升级到6.26。在更新过程中,我被要求备份我的所有文件,然后从我的服务器中删除整个Drupal安装,并使用提供的文件重建它。然后,我将所有相关的备份文件从本地计算机复制回服务器。我现在遇到的问题是,每当我作为管理员执行任何操作时,我都会收到“目录不可写”通知。最初,我收到“sites / default / files”不可写的错误,但我修复了这个错误,并且我将安装中每个文件的权限更改为755.为什么我收到此错误,我该如何修复它?
答案 0 :(得分:5)
虽然权限可能设置为755,但很可能目录所有权设置为错误的用户。
答案 1 :(得分:3)
只是想添加这种可能性,它在尝试了许多事情后为我解决了这个问题:
如果您正在运行SELinux(如Fedora),则/ sites / default或/ sites / default / files上可能存在“安全上下文”问题。所以,即使你使用chmod 777打开它(不是一个好主意),你仍然会得到许可问题。
修复是(第一个cd到sites目录):
restorecon -rv default/
我在本地以root身份运行。
我不会假装成为安全上下文的专家,但Fedora文档是here。
希望能帮助别人避免我的头痛!
答案 2 :(得分:0)
找到权限问题后,您可能希望返回所有文件的chmod 644,以及755目录(除了上传文件夹)以保证安全。
答案 3 :(得分:0)
您可以使用两种可能的选项:
1.将文件目录的所有者及其中的所有文件更改为apache用户
2.以递归方式向文件目录
答案 4 :(得分:0)
Drupal有时会创建一些目录,因此请检查sites / default / files子目录是否具有正确的权限