DeepOps的WordPress小笔记-WordPress文件没有写权限-Is its parent directory writable by the server

WordPress Is its parent directory writable by the server
上传图片到媒体库的时候报错:
“xxxxx.jpg” has failed to upload.
Unable to create directory wp-content/uploads/2021/01. Is its parent directory writable by the server?

排查过程:

1、找到是否有 wp-content/uploads 这个文件夹在哪?

	我使用的apache2部署的wordpress,所以apache2的配置文件找到wordpress部署目录
	可以使用
$ whereis apache2
apache2: /usr/sbin/apache2 /usr/lib/apache2 **/etc/apache2** /usr/share/apache2 /usr/share/man/man8/apache2.8.gz

我们可以看到在/etc/apache2目录下,然后找到配置文件apache2.conf

打开配置文件找到Directory节点,可能会有多个,如果你没调整过默认的应该在/var/www/下面,如果调整了,就看下项目是部署在那个文件夹下面,根据相对路径wp-content/uploads 就可以找到uploads文件夹

<Directory /usr/share>
        AllowOverride None
        Require all granted
</Directory>

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory> 

2、处理

2.1 没有文件夹

wp-content目录下面没有uploads文件夹,自己就新建一个

2.2 文件夹所有者和服务器用户不一致

查看先看一下自己的apache2 或nginx 是哪个用户启动的。

ps -ef|grep apache2 
ps -ef|grep nginx

把文件夹的用户所有者改成与服务器启动用户一致

sudo chown -R user uploads

2.3 文件夹用户一致,但是没执行权限

因为我的服务器用户和项目的用户不一样,试了一下707能运行,中间那个6也可以是0 ,它代表了群组
执行权限对目录而言表示该用户具有进入目录的权限。所以需要为对应群组赋予执行权限

chmod -R 707 uploads

你可能感兴趣的:(操作系统相关,linux,wordpress)