Wordpress 插件安装:无法创建目录

Posted

技术标签:

【中文标题】Wordpress 插件安装:无法创建目录【英文标题】:Wordpress plugin install: Could not create directory 【发布时间】:2016-09-06 12:54:14 【问题描述】:

我在 centos 6 上使用 WordPress。

我尝试安装插件。但是我收到了这个错误:

安装插件:bbPress 2.5.9 正在从https://downloads.wordpress.org/plugin/bbpress.2.5.9.zip下载安装包...

拆包……

无法创建目录。

我该如何解决这个问题?

P/S:我运行这个命令:

sudo -u root touch /var/www/html/wordpress/wp-content/plugins/test.txt

它有效。但我仍然收到该错误。

【问题讨论】:

test.txt 不是一个目录,我现在写的可能很愚蠢,但是请检查您是否可以在这里创建一个目录。 (只是为了确保)。 【参考方案1】:

您只需要更改 WordPress 目录的访问权限:

chown -R www-data:www-data your-wordpress-directory

【讨论】:

your-wordpress-directory = "wp-content" 就我而言,因为我使用的是 Mac,所以它是 chown -R _www:_www wp-content,实际上是 sudo chown -R _www:_www wp-content "your-wordpress-directory" 没有告诉我插件需要哪个目录。在我的 Wordpress 安装中更改每个目录的所有权是不安全的、过分的,并且可能会破坏其他东西。 felwithe,插件所需的目录会随着 wordpress 目录的变化而变化。 your-wordpress-directory 表示您在服务器上放置 wordpress 的位置。【参考方案2】:

您可以使用以下命令解决此问题。您应该首先在 Wordpress 的根文件夹中。

sudo chown -R www-data:www-data wp-content/plugins/
sudo chmod 775 wp-content

sudo chown -R www-data:www-data wp-content/

【讨论】:

这应该是答案,因为它告诉我们要修复哪些目录以及如何修复它们。 它对我有用。如果您在 ubuntu 上清除了 apache2 和 wordpress,则您已重新应用这些权限 这个答案对我有用 谢谢!为我工作。我在 Windows 10 WSL2 中使用 WordPress docker 容器。 也为我工作【参考方案3】:

运行您的 Web 服务器的用户无权写入 Wordpress 打算在其中创建插件目录的目录。您应该将相关目录分配给运行 Wordpress 的用户。它很可能不是 root。

简而言之,这是一个权限问题。您的 touch 命令正在工作,因为您以 root 身份使用它,并且 root 具有全局权限,可以在任何地方写入。

【讨论】:

很明显,但这并没有告诉我们要修复哪个目录。 @felwithe 显然对 OP 来说并不明显。 无论您认为对谁显而易见(即使错误消息字面意思是“无法创建目录”),它都不能回答问题。 很公平。我更想解释问题出在哪里,以便他了解将来如何解决此类问题。【参考方案4】:

一个快速的解决方案是更改以下权限:

/var/www/html/wordpress/wp-content /var/www/html/wordpress/wp-content/plugins

将其更改为775

安装后别忘了改回默认权限..:D

【讨论】:

对于没有 root 访问权限的用户的快速修复 在我的情况下,它更改了 wp-content 的权限,但不允许更改 wp-content 的插件【参考方案5】:

我必须将/plugins/upgrade 的所有权交给服务器,仅此而已。

$ cd /var/www/wordpress/wp-content
$ sudo chown www-data:www-data /plugings
$ sudo chown www-data:www-data /upgrade

在 Ubuntu 18.04 上运行 Apache 服务器。也许以后需要更改更多目录。无论如何,我计划在完成编辑后恢复权限,正如this anwser 中所建议的那样。

【讨论】:

如果其他答案不能解决问题,试试这个! /upgrade 目录可疑!【参考方案6】:

如果您使用 apt 安装了 wordpress,配置文件将被拆分到多个目录中。在这种情况下,您需要运行:

sudo chown -R -h www-data:www-data /var/lib/wordpress/wp-content/
sudo chown -R -h www-data:www-data /usr/share/wordpress/wp-content/

-h 开关也会更改符号链接的权限,否则用户 www-data 无法删除它们

【讨论】:

如何更改 cent os 服务器的权限【参考方案7】:

要快速解决本地或生产上的插件和主题的权限问题,您只需运行此

sudo chmod 757 wp-content/themes
sudo chmod 757 wp-content/plugins

如果注意生产许可,你可以运行

sudo chown -R www-data:www-data wp-content/themes
sudo chown -R www-data:www-data wp-content/plugins

【讨论】:

【参考方案8】:

如果有人使用共享主机并遇到同样的问题,则可能是磁盘空间问题。在这种情况下,请联系您的托管支持并要求他们增加您帐户的磁盘空间。

【讨论】:

同样的情况。所以清理一个空间【参考方案9】:

CentOS7 或 Ubuntu 16


1.

WordPress 使用ftp 安装主题插件。 所以ftpd应该已经配置为create-directory

vim /etc/pure-ftpd.confg

如果是no,那么应该是yes

# Are anonymous users allowed to create new directories?
AnonymousCanCreateDirs       yes

最后

sudo systemctl restart pure-ftpd

2.

父目录可能存在所有权问题。 如果是Apache Web Server

,则查找Web Server用户名和组名
apachectl -S

它会打印出来

...
...
User: name="apache" id=997
Group: name="apache" id=1000

在 Ubuntu 上是

用户:name="www-data" id=33 not_used 组:name="www-data" id=33 not_used

然后

sudo chown -R apache:apache directory-name

3.

有时是因为目录权限。 所以试试

sudo chmod -R 755 directory-name

在某些情况下755 不起作用。 (应该,我不知道为什么)所以试试

sudo chmod -R 777 directory-name

4.

可能是因为php安全模式。 因此,请在您的域的根目录中关闭

vim php.ini

然后添加

safe_mode = Off

注意: 对于每次安装主题时不输入FTP用户名和密码,我们可以通过添加配置WordPress直接使用它

define('FS_METHOD','direct');

wp-config.php 文件。

【讨论】:

【参考方案10】:

你需要更改目录的权限

    首先更改用户HTML文件夹(替换您的计算机用户名)

    sudo chown yourcomputerusername:yourcomputerusername /var/www/html

    接下来更改用户的权限

    cd /var/www/html

    sudo chmod -R goa=rwx wordpress

    sudo chmod -R 777 wordpress/wp-content

【讨论】:

【参考方案11】:

如果你是 mac 用户,使用 XAMP

进入htdocs文件夹,在文件夹上打开终端,如截图所示

然后在终端输入以下命令

**sudo chmod -R 777 <your wordpress folder Name>/**

例如 sudo chmod -R 777 wordpress/

【讨论】:

【参考方案12】:

我在 XAMPP for linux localhost 上,这对我有用:

sudo chown -R my-linux-username wp-content

【讨论】:

【参考方案13】:

我每次创建 WordPress 项目时都会做的事情。在 /www/html

我在命令下运行

sudo chown www-data:www-data  wordpress_folder_name -R

希望这会对某人有所帮助。

【讨论】:

【参考方案14】:

对我来说,问题是 WP 用于上传更新的 FTP 服务器。它在配置中禁用了写入功能,因此只需启用它即可解决问题。

为 WordPress 提供这种误导性的错误信息感到羞耻。

【讨论】:

【参考方案15】:

除了这个之外,以上都不适合我。

sudo chown daemon:daemon /opt/bitnami/apache/htdocs/

别忘了把/opt/bitnami/apache/htdocs/改成你的目录

【讨论】:

【参考方案16】:

你可以试试

sudo chmod goa=rwx -R /var/www/html

【讨论】:

你应该编辑你以前的答案(几乎一年前),而不是制作一个新的***.com/a/65486715/2308683【参考方案17】:

Webserver 用户必须对目录具有写权限才能执行此类操作,因此您可以尝试将文件的所有者更改为 Webserver 用户(在此示例中为 apache,但可以与您的不同)

chown -R apache YOUR_BLOG_DIRECTORY

【讨论】:

你能解释一下这是做什么的吗?【参考方案18】:

要解决 ubuntu 服务器上的权限问题,您只需运行此

sudo chmod 777 -R 'wordpress wp-content file location' 

例如。

sudo chmod 777 -R /usr/share/wordpress/wp-content

【讨论】:

这是个坏主意,777 允许所有用户和进程访问以写入这些文件。 这是你如何使用 chmod 的电话,我刚刚给出了解决方案 如果问题发生在您的本地,使用 777 即可。【参考方案19】:

wordpressProject 是项目名称。

/var/www/html/wordpressProject sudo chmod -R 777 wp-content

谢谢。它会起作用的。

【讨论】:

永远不要设置 777 权限,除非你想被机器人入侵。【参考方案20】:

一定是成功了!

使用这个 chown -Rf www-data:www-data /var/www/html

【讨论】:

你不应该让网络服务器完全控制 webroot 中的文件。

以上是关于Wordpress 插件安装:无法创建目录的主要内容,如果未能解决你的问题,请参考以下文章

WP安装后,添加插件和主题都不能正常安装——无法创建目录,请问是啥原因,要如何解决?

在 XAMPP 上运行的 wordpress 上的“无法创建目录”

正在解压更新... 无法创建目录。 WordPress

wordpress 无法安装插件,不一定因为777权限,可能是用户组的问题

无法在 Wordpress 中创建目录 wp-content/uploads

在 Nginx 上运行 WordPress 的权限问题