解压缩更新...无法创建目录。 WordPress的

问题描述 投票:12回答:10

当我安装nextgen-gallery插件。出现此错误消息

Downloading update from https://downloads.wordpress.org/plugin/nextgen-gallery.zip…

Unpacking the update…

Could not create directory.

我该如何解决这个问题?

php wordpress plugins directory gallery
10个回答
23
投票

这是权限问题。确保该目录可由apache写入。插件被解压缩到wp-content / plugins目录中,所以我首先尝试以apache的形式写入目录:

sudo -u apache touch /path/to/wp-content/plugins/test.txt

相应地设置权限以更正问题。你可以在这里阅读有关权限:http://www.linux.com/learn/tutorials/309527-understanding-linux-file-permissions

您可以在这里阅读有关Wordpress的正确文件权限方案:https://wordpress.org/support/article/changing-file-permissions/


0
投票

以上所有都很棒,但我认为你错过了最简单的问题。您的网站使用的空间比分配的空间多,因此它已经破损。 Wordpress正在使用更多文件。如果你处于过度的边缘,那么你可以做一个简单的隔夜问题。上床睡觉,一切都很好。早上网站坏了。

我拥有自己的网站,所以我进入Hostmonster或Hostgator的经销商部分(我在两个托管平台上都有网站),我重新分配更多空间,问题通常会消失。首先尝试,或者在弄乱权限之前先查看它。如果您更改了权限并且问题出现了,可能是权限,否则请先检查一下。


18
投票

@skrilled和@ knutole的答案很棒,但我发现当试图解决插件文件夹上的问题时,一切都很好,答案对我不起作用。

如果其他人有此问题,请尝试查看升级文件夹。此文件夹(我可以看到)用作存储临时文件的文件夹,用于运行WP升级或插件更新。

如果您只是收到“无法创建目录”的消息并且没有指定路径,那么它实际上可能是在讨论升级文件夹。


3
投票

对于nginx人 如果你安装了php-fpm,你必须告诉它它的用户和组是nginx。 /etc/php-fpm.d/www.conf。找到默认分配给apache的用户并将其更改为nginx。也是为小组做的。然后运行此命令:

sudo service php-fpm restart

在wordpress目录中也执行这些命令

sudo chown nginx:nginx * -R 
sudo usermod -a -G nginx username

将用户名更改为您当前的用户名。 但你必须应用propper权限。在wordpress目录中运行这些命令

sudo find . -type f -exec chmod 664 {} + 
sudo find . -type d -exec chmod 775 {} +

1
投票

如果您使用vsftpd作为FTP服务器并启用了被动连接,则需要将pasv_promiscuous=YES添加到/etc/vsftpd/vsftpd.conf


1
投票

最有可能的是,如果您已正确配置,则与您的wordpress站点关联的http服务器属于组www-data。这就是人们应该如何正确配置它。

试试members www-dataps aux | grep www-data。在后一个命令中,您应该在最后一列上看到nginxapache

在这种情况下,您只需将该组设置为该目录

sudo chgrp -R www-data <your_wordpress_root_dir>/

然后将完整的组权限添加到此类目录

sudo chmod -R g+rwx <your_wordpress_root_dir>/

现在它完美地工作:)


0
投票

我遇到了类似的问题。它开始于我尝试更新迁移的WP安装上的插件。我没有得到它,我的所有权限都与旧服务器完全相同。在我的情况下,我开始发现没有多少工作正常。我无法安装/删除插件或主题以及上传媒体会出错。然后我通过一些研究找到了修复。

如果您仍然遇到此问题,并且更改权限,则无法解决问题,请尝试以下操作:

无论您在何处编辑脚本设置,都可以进入主机控制面板并查找主机设置。在Plesk(如我的例子中),这将在网站和域名下。点击底部的域名。在下一个屏幕上,它显示“PHP支持(运行为...”将下拉列表从“Apache模块”更改为“FastCGI应用程序”。现在应该修复所有内容!


0
投票

(重新)通过ftp设置权限也没有对我有所帮助。没有SSH可用,所以我必须登录控制面板(在我的情况下是directadmin),文件管理器,我可以“重置所有者”到“文件所有权重置”/ wp-contents目录。


0
投票

我用Wordpress运行Nginx。我删除了wp-content中的upgrade文件夹,然后再次从wordpress GUI运行升级。我注意到创建的升级文件夹的linux用户是www-data。然后我做了一个{sudo chmod -R www-data:www-data。}再次从GUI中升级升级并且它有效。

可能需要更改大多数文件夹的权限,以便它们不能被www-data修改,但我明天就会知道。


0
投票

权限问题,请确保apache(www-data)具有写入权限。

© www.soinside.com 2019 - 2024. All rights reserved.