解决CentOS下WordPress无法更新和安装插件的问题,更新/安装失败无法创建目录

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/feng_zhiyu/article/details/82792138

使用WordPress搭建的个人网站更新失败,提示:无法创建目录。

原因是执行更新程序的是www用户,需要把插件或主程序下载到 /alidata/www/phpwind,而这个目录下很多文件的所有者是root用户,即www用户没有权限,所以修改目录所有者即可,进入 /alidata/www/phpwind 目录,输入命令:

chown -R www:www ./

现在再次运行WordPress更新程序,应该就正常了。

参考:更新WordPress提示无法创建目录的解决

另外这里提供一种方法。【非亲测】

近期和朋友一起入了新的服务器,均使用了CentOS以及LAMP,而他遇到了这样的情况:插件无法安装,提示无法创建目录,而后发现更新也不行。这是怎么回事呢?

简单看了下,实际是因为WordPress没有更新的权限。

具体来说,是因为CentOS有以下特点:

1.文件和目录均有所有者和权限两个属性,在操作用户非所有者时,权限被开放才能进行写入操作。

2.文件和目录的所有者一般为创建者。如使用Wget命令下载的文件,所有者一般是网关程序(比如Apache,Nginx);使用FTP上传的文件,所有者是FTP用户;在SSH链接时直接创建的文件,所有者是登陆用户(可能是root)。

而LAMP来说,在运行WordPress时,安装等操作调用的均是Apache这个用户的权限。而Apache用户是无权修改FTP用户或root的文件的。

因此有两个解决方案可供选择:

1.将WordPress目录的用户改为Apache

首先,查看Apache的用户名到底是什么,在终端运行命令:

1

# vim /etc/passwd

看看有没有叫做apache的用户,如果没有请上网搜索一下你的配置下网关用户名叫什么(如果是LNMP,则看看有没有叫做www的用户,这是Nginx的默认用户名)。

如有,按下ESC,输入:q关闭文件。然后修改目录用户为apache(以目录/var/www/html/为例,实际请修改为你自己的WordPress根目录)。

1

# chown –R apache /var/www/html/

然后继续,将该目录权限改为755:

1

# chmod –R 755 /var/www/html

测试一下,安装插件和模板的功能应该已经恢复。如果更新仍然失败,可以尝试单独给更新程序777权限:

1

# chmod –R 777 /var/www/html/wp-admin/update-core.php

2.将WordPress整个目录设置为777权限

非常不建议这么做,将大大降低网站安全性,777权限意味着组用户和公共用户均可以写入(修改、删除)。

但网站未上线的调试阶段是可以接受的。下面是修改方法:

1

# chmod –R 777 /var/www/html/

如果只是安装插件和模板有问题,可以仅仅修改wp-content的权限为777,这样会比上面好一些:

1

# chmod –R 777 /var/www/html/wp-content

参考:http://www.kamilet.cn/wordpress-update-fail/

猜你喜欢

转载自blog.csdn.net/feng_zhiyu/article/details/82792138