【发布时间】: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 会找到插件/主题并允许我激活它。所以它知道那个时间点正确的目录在哪里。