【问题标题】:Unpacking the update... Could not create directory. Wordpress正在解压更新... 无法创建目录。 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中回答

标签: php wordpress plugins directory gallery


【解决方案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/

    【讨论】:

    【解决方案3】:

    如果您的配置正确,与您的 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>/
    

    现在完美运行了:)

    【讨论】:

      【解决方案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/upgradewp-content/plugins 之前,我得到了这个错误,但是我怎样才能将它改回更安全的权限(不是 777!)并且它仍然可以工作??
                  • 嗨 Ryan,一旦您成功运行更新,只需将其换回 755
                  • 我找到了答案。我将这两个文件夹的权限改回 755,然后像这样递归chownwordpress.stackexchange.com/a/23569/51462 现在我可以将它们保持在 755。
                  • 将 777 设置为 upgrade 文件夹终于让它为我工作了。为pluginswp-contents 设置了777,但它不起作用,因为就像你说的upgrade 文件夹也必须更改。
                  猜你喜欢
                  • 2015-03-03
                  • 2017-07-10
                  • 2016-07-23
                  • 2013-05-07
                  • 2014-03-14
                  • 1970-01-01
                  • 1970-01-01
                  • 2016-09-06
                  • 2021-09-02
                  相关资源
                  最近更新 更多