正在解压更新... 无法创建目录。 WordPress
Posted
技术标签:
【中文标题】正在解压更新... 无法创建目录。 WordPress【英文标题】:Unpacking the update... Could not create directory. Wordpress 【发布时间】:2013-12-20 01:20:27 【问题描述】:当我安装 nextgen-gallery
插件时。出现此错误消息
Downloading update from https://downloads.wordpress.org/plugin/nextgen-gallery.zip…
Unpacking the update…
Could not create directory.
我该如何解决这个问题?
【问题讨论】:
WordPress 是否有插件目录的写权限?可以用同样的方式安装任何其他插件吗? nginx , php-fpm ,用户和组以及文件和文件夹权限在here中回答 【参考方案1】:我在尝试安装 wp 插件时遇到了同样的问题。但是,我设法用以下命令解决了这个问题:
sudo wp plugin install [plugin name] --allow-root
【讨论】:
【参考方案2】:这是一个权限问题。确保该目录可被 apache 写入。插件被解压到 wp-content/plugins 目录中,所以我会首先尝试以 apache 的身份写入该目录:
sudo -u apache touch /path/to/wp-content/plugins/test.txt
相应地设置权限以纠正问题。您可以在此处阅读有关权限的信息:https://www.pluralsight.com/blog/it-ops/linux-file-permissions
您可以在此处阅读有关 Wordpress 正确文件权限方案的信息:https://wordpress.org/support/article/changing-file-permissions/
【讨论】:
第一个链接似乎已过期。目前你可以在这里:pluralsight.com/blog/it-ops/linux-file-permissions【参考方案3】:如果您的配置正确,与您的 wordpress 站点关联的 http 服务器很可能属于 www-data
组。这就是正确配置它的方式。
试试members www-data
和ps aux | grep www-data
来确定。在后一个命令中,您应该在最后一列看到nginx
或apache
。
在这种情况下,您只需将该组设置为目录
sudo chgrp -R www-data <your_wordpress_root_dir>/
然后将完整的组权限添加到该目录
sudo chmod -R g+rwx <your_wordpress_root_dir>/
现在完美运行了:)
【讨论】:
【参考方案4】:以上所有内容都很棒,但我认为您错过了最简单的问题。您的网站使用的空间超过了分配的空间,因此它已损坏。 Wordpress 会生成更多正在使用的文件。如果您处于重头戏的边缘,那么您什么都不做的简单一夜之间的问题是可能的。去睡觉吧,一切都好。早上网站坏了。
我拥有自己的网站,所以我进入 Hostmonster 或 Hostgator 的经销商部分(我在两个托管平台上都有网站),我重新分配了更多空间,问题通常会消失。先尝试一下,或者在弄乱权限之前先研究一下。如果您更改了权限并且出现了问题,则可能是权限,否则,请先检查。
【讨论】:
【参考方案5】:权限问题,请确保 apache (www-data) 具有写入权限。
【讨论】:
【参考方案6】:对于 nginx 人 如果你安装了 php-fpm,你必须告诉它它的用户和组是 nginx。 /etc/php-fpm.d/www.conf 。找到默认分配给apache的用户并将其更改为nginx。也为小组做。然后运行这个命令:
sudo 服务 php-fpm 重启
也在您的 wordpress 目录中执行这些命令
sudo chown nginx:nginx * -R sudo usermod -a -G nginx 用户名
将用户名更改为您当前的用户名。 但您必须应用适当的权限。 在你的 wordpress 目录中运行这些命令
须藤找到 . -type f -exec chmod 664 + 须藤找到。 -type d -exec chmod 775 +
【讨论】:
chmod 比标准 644/755 更宽松。此外,可能需要添加 chmod g+s 以便新文件/文件夹将继承所有者 gid,因为您只将 nginx 作为辅助组广告给用户。 做这么大的 chown,你可能不得不将自己添加到 nginx 组,不是吗?如果说你想替换主题文件。 关于 php 用户与 nginx 用户交互以服务和响应创建文件和其他事情 "... /etc/php-fpm.d/www.conf 。找到默认分配给 apache 的用户并将其更改为 nginx。也为组执行此操作..." 如何我要这样做吗?我认为我的 apache 默认用户是 www-data【参考方案7】:我正在使用 Wordpress 运行 Nginx。我删除了 wp-content 中的升级文件夹,然后再次从 wordpress GUI 运行升级。我注意到创建的升级文件夹的 linux 用户是 www-data。然后我做了一个 sudo chmod -R www-data:www-data . 从 GUI 再次运行升级,它工作。
可能需要更改大多数文件夹的权限,这样它们就不能被 www-data 修改,但我明天会弄清楚。
【讨论】:
【参考方案8】:(重新)通过 ftp 设置权限对我来说也没有什么不同。没有可用的 SSH,所以我必须登录控制面板(在我的例子中是直接管理员),我可以在文件管理器中“重置所有者”到“文件所有权重置”/wp-contents 目录。
【讨论】:
【参考方案9】:如果您使用vsftpd
作为您的FTP 服务器并启用了被动连接,则需要将pasv_promiscuous=YES
添加到/etc/vsftpd/vsftpd.conf
。
【讨论】:
【参考方案10】:我遇到了类似的问题。它始于我尝试在迁移的 WP 安装上更新插件。我没有得到它,我所有的权限都与旧服务器完全相同。在我的情况下,我开始发现没有多少工作正常。我无法安装/删除插件或主题以及上传媒体会出错。然后我通过一些研究找到了解决方法。
如果您仍然遇到此问题,并且更改权限并不能解决问题,请尝试以下操作:
进入您的托管控制面板并找到您的托管设置,您可以在其中编辑脚本设置。在 Plesk(如我的示例中)中,这将位于网站与域下。点击底部的域名。在下一个屏幕上,显示 “PHP 支持(运行方式...” 将下拉菜单从 “Apache 模块” 更改为 “FastCGI 应用程序”。现在一切都应该解决了!
【讨论】:
【参考方案11】:@skrilled 和@knutole 的回答很好,但我发现在尝试解决插件文件夹上的问题时,一切正常,但答案对我不起作用。
如果其他人也有此问题,请尝试查看升级文件夹。该文件夹(据我所知)用作存储临时文件的文件夹,以供运行 WP 升级或插件更新时使用。
如果您只是收到“无法创建目录”的消息并且没有指定路径,那么它实际上可能是在谈论升级文件夹。
【讨论】:
我遇到了完全相同的问题。我通过将 777 提供给 wp-content/ 文件夹来解决它。不是最整洁的方法,但解决了我的问题。 在我将 777 权限授予wp-content/upgrade
和 wp-content/plugins
之前,我得到了这个错误,但是我怎样才能将它改回更安全的权限(不是 777!)并且它仍然可以工作??
嗨 Ryan,一旦您成功运行更新,只需将其换回 755
我找到了答案。我将这两个文件夹的权限改回 755,然后像这样递归chown
:wordpress.stackexchange.com/a/23569/51462 现在我可以将它们保持在 755。
将 777 设置为 upgrade
文件夹终于让它为我工作了。为plugins
和wp-contents
设置了777,但它不起作用,因为就像你说的upgrade
文件夹也必须更改。以上是关于正在解压更新... 无法创建目录。 WordPress的主要内容,如果未能解决你的问题,请参考以下文章
解压包... 无法创建目录。 WordPress、Apache2、Ubuntu
windows 10 无法创建链接符号,解压文件怎么以管理员的方式解压?(已解决)