无法创建目录0x02
0x01:问题描述,解题思路
问题就在于php运行时的用户权限问题,网上看了好多教程,有新建用户组,更改wordpress目录文件777权限,具体我就不讨论了,因为这些都不是最佳解决办法。最佳解决办法是,得到php运行的用户和用户组,并将此权限用户和用户组权限赋值给wordpress对应目录即可!
0x02:开始动手
首先查看现有权限
随手截取了一部分wordpress目录内的权限图
通过上图可以看出,文件和目录所属root用户和组,权限是root组用户可读写rwx,root用户可读写rwx,其他用户只读r-x,因为php运行权限不是root,所以无法创建文件。
这个错误多数发生在安装新插件的上传阶段,报错的相关目录是wp-content/uploads//,找到了病因我门就从病因入手,首先给uploads文件夹777权限,就是所有人可读可写
chmod -R 777 uploads
执行后上面的命令后,权限已经为任何人可读可写
这样我们再次安装或者上传主题试一试
又一个错误来了
上传成功了,但是在此出现了另一个无法创建目录/home/www/html/wp-content/plugins/woocommerce/。
现在我们先不管这个无法创建目录的错误,一会你就明白怎么办了,我们继续关注uploads目录,在更改777权限前,uploads目录下不能创建文件,现在成功了,我们去看看里面创建了什么,主要是看用谁的权限创建的。
apache权限和用户组
我们不关注上传了和创建了什么文件,关注谁创建的,可以看到,使用apache权限创建的文件,至此你应该知道怎么办了,那就是将所有没权限的目录都赋予他apache权限就ok了
附上命令
chown -R root:root 目录
步骤总结
1.更改目录权限为777
chmod -R 777 uploads
2.随便安装一个插件,然后查看是谁创建了它
3.更改目录的用户组
chown -R root:root 目录
问题解决
网友评论