【问题标题】:WordPress 3.8: unable to locate wordpress content directory (wp-content)WordPress 3.8:无法找到 wordpress 内容目录 (wp-content)
【发布时间】:2014-03-24 12:29:11
【问题描述】:

我的服务器设置很好,允许我通过 WordPress 提供的漂亮按钮更新插件、主题和核心。但是,升级到 3.8 后,我无法升级任何东西。但是,我也在大约同一时间向服务器添加了 iptables,但我认为这不是问题 - 我关闭了 iptables 并尝试了但没有任何成功。

当我尝试通过 WordPress 的 FTP 上传插件/更新时,它无法通过 localhost 连接。 127.0.0.1 和公共 IP 在很长一段时间后都返回“无法找到 wordpress 内容目录(wp-content)”,提示超时或多次超时。

环境:

  • WP 3.8(多站点、子目录)
  • Ubuntu 12.04 服务器
  • vsftpd(这样我就可以 FTP 我的用户)
  • 回到过去(当我不知道自己在做什么的时候)我将整个 /var/www/ 目录权限更改为 gabe:gabe。从那以后,我尝试将 wp-content 目录更改为 gabe:www-data 和 www-data:www-data ,但没有成功。我也尝试在 wp-content 上使用 chmod 777,但同样没有成功。

我在 Google 上搜索过,绝大多数修复都归结为权限问题。但是,如上所述,我已尝试将目录的所有者和权限更改为 777。所以,我认为权限是一条死胡同。

我最初认为 iptables 以某种方式妨碍了我。但我已将其关闭/冲洗桌子但没有成功。所以我不认为 iptables 是罪魁祸首。

其他谷歌搜索的解决方案相当于在 wp-config.php 文件中添加一些代码。然而,其中一个完全破坏了该网站。另一个没有效果。

Apache 和域的日志没有显示任何内容。它们不是空的,但没有对 wp-content 的单一引用或我能想到的任何相关内容。 ftp 日志显示通过 127.0.0.1 成功建立连接。

所以我现在已经用完了我的花样。

------------- 编辑:我对 wp-config 所做的更改 ------------- 根据http://wordpress.org/support/topic/unable-to-locate-wordpress-content-directory-wp-content,我将 wp-config.php 更改为包括:

if(is_admin()) {
    add_filter('filesystem_method', create_function('$a', 'return "direct";' ));
    define( 'FS_CHMOD_DIR', 0751 );
}

这是大约 4 年前在 WordPress 2.8 中针对相同问题提出的解决方案。添加这些行后网站无法加载,并且考虑到帖子/解决方案的年龄,我将它们取出,并且没有进一步排除网站无法加载的原因。我以为它正在调用一些不再存在于 WP 中的函数。

我添加到 wp-config.php 的第二段代码是:

putenv('TMPDIR='. ABSPATH .'tmp');
define('WP_TEMP_DIR', ABSPATH . 'tmp');

根据http://wordpress.org/support/topic/unable-to-locate-wordpress-content-directory-wp-content?replies=15。这并没有破坏网站,但也没有修复它,所以我删除了它。

【问题讨论】:

  • 您在 wp-config 中做了哪些更改?有什么关于“define('WP_CONTENT_DIR', ....”和/或define('WP_PLUGIN_DIR', ...." ???
  • @evanv 我已经编辑了我的问题以显示我添加到 wp-config 的代码。
  • 感谢添加。您的 WP Content 目录是否在 wp-config 中定义? WP Plugins 目录呢?
  • wp-config 中没有任何内容定义内容或插件目录。但是,我知道如果我通过 FTP 将插件或主题放入正确的目录,WordPress 会找到插件/主题并允许我激活它。所以它知道那个时间点正确的目录在哪里。

标签: php wordpress apache ftp


【解决方案1】:

在基于 debian 的系统上,从 debian 软件包安装 wordpress 后,我必须在 /var/lib/wordpress/wp-content/ 中将目录的所有者和组从“root”更改为“www-data” 例如。

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

使目录对网络服务器可写。

【讨论】:

    【解决方案2】:

    试试这个:)

    //* FTP Settings **/
    /** wp-content path */
    define('FS_METHOD', 'ftpext');
    define('FTP_BASE', '/');
    define('FTP_CONTENT_DIR', '/wp-content/');
    define('FTP_PLUGIN_DIR', '/wp-content/plugins/');
    define('FTP_USER', 'testdomain4.com');
    define('FTP_PASS', 'XXXXXXXXXXXX');
    define('FTP_HOST', 'ftp.enterpriseit.us');
    define('FTP_SSL', false);
    

    http://codex.wordpress.org/Editing_wp-config.php

    【讨论】:

      【解决方案3】:

      将此行添加到我的wp-config.php 工作。

      define('FS_METHOD', 'direct');
      

      我在 Ubuntu 服务器上有一个本地开发环境。

      【讨论】:

      • 在我的情况下,除了添加这一行并删除文件 [define('FS_METHOD', 'ftpext');] 中的原始行之外,我不得不更改 WP- 的权限带有“chmod -R 777 wp-content/”的内容文件夹
      • 谢谢,你救了我的命 :)
      • @NicolasZ 777 是一个极其危险的环境。你可以找到更好的解决方案
      【解决方案4】:

      尝试将此行添加到您的 wp-config.php 中,它适用于我

      define('FS_METHOD', 'ftpsockets');
      define('FTP_BASE', 'xxx');
      

      将 xxx 替换为您的 ftp 主路径,例如 /opt/htdocs/wordpress

      【讨论】:

      • 感谢您的回复,但是,该站点已升级并移至新服务器。这个问题不再是问题,我也没有它来测试解决方案了。
      【解决方案5】:

      检查点(如果您还没有): 1. 检查您是否可以使用 FTP 客户端登录。 2. ftp用户登录时是否将文件夹更改为WP文件夹。

      一些可以帮助您交叉检查设置的要点:

      您可能必须创建一个 ftp 用户,其主文件夹是您的 WP 安装。

      WordPress 登录 FTP 时,应该是 WP 安装的主文件夹。

      检查此网址,这将对您有所帮助。

      http://blog.noizeramp.com/2008/09/10/wordpress-unable-to-locate-wordpress-plugin-directory/

      如果您不确定如何创建用户或分配主文件夹,有很多网站可以解释。

      以下是其中之一:

      http://www.cyberciti.biz/faq/howto-change-default-home-directory/

      创建用户后,在 wp-config.php 中进行如下修改。

      define( 'FTP_USER', 'username' );
      define( 'FTP_PASS', 'password' );
      define( 'FTP_HOST', 'ftp.example.org:21' );
      

      祝你好运!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-05-07
        • 2014-03-14
        • 1970-01-01
        • 1970-01-01
        • 2017-10-12
        • 2020-04-23
        • 2015-06-23
        • 1970-01-01
        相关资源
        最近更新 更多