WordPress问题导致大量错误日志

时间:2014-06-30 12:43:47

标签: php wordpress

我遇到的问题是每天都会导致错误日志大量增加。

[Thu Jan 30 08:55:55 2014] [warn] [client 2.102.44.72] mod_fcgid: stderr: PHP Warning: is_dir(): open_basedir restriction in effect. File(/) is not within the allowed path(s): (/var/www/vhosts/inspartnership.org.uk/:/tmp/) in /var/www/vhosts/inspartnership.org.uk/httpdocs/wp-includes/functions.php on line 1366

(我知道这是一个旧日志 - 但错误没有改变。)

这是WordPress functions.php中的违规行

$target_parent = dirname( $target );
while ( '.' != $target_parent && ! is_dir( $target_parent ) ) {
    $target_parent = dirname( $target_parent );
}

现在网站运行正常(直到日志变得太大,然后我得到500错误) - 我得到了导致问题的原因 - 该网站在共享主机上并且正在尝试访问外部文件夹它的触及范围 - 我只是不知道如何修复它,说实话,不知道从哪里开始!

之前有没有人遇到过这个问题,可以指出我正确的方向。

任何人都可以帮助我确定WordPress的哪个部分可以经常调用此函数来制作如此庞大的日志

使用简单的词语 - 我有点厚:-D

提前致谢

5 个答案:

答案 0 :(得分:5)

您正在共享托管。因此,您无法访问整个服务器。根据您的日志,这些是您的网站/var/www/vhosts/inspartnership.org.uk/ /tmp/的允许路径,并且您正尝试访问/目录,从而导致问题发生。

您可以使用这些wordpress内置函数为您解决此问题。

主题

http://codex.wordpress.org/Theme_Development#Anatomy_of_a_Theme

For Plugins

Plugin Files and Locations

很少有其他参考问题

Retrieve WordPress root directory path?

答案 1 :(得分:3)

php' s open_basedir是主机配置;它不是Wordpress核心的错误或问题。

1)让你的主持人将php safe_mode 关闭。在上运行safe_mode 是没用的。

请参阅http://www.php.net/manual/en/features.safe-mode.php

2)从Web主机获取tmp目录的路径。编辑wp-config.php文件并添加以下行:

define('WP_TEMP_DIR','../../relative/path/to/tmp');

3)找一个新主持人。

答案 2 :(得分:2)

显然$ target的basepath是“低于”运行php实例的用户的允许的基本路径。根据日志文件,允许的pathes是“/ tmp /”和“/var/www/vhosts/inspartnership.org.uk/”。我假设你的WP安装中缺少一些配置。有可能,它只是临时文件的位置。您最近是否将您的网站移至另一台服务器? 如果它们仍与当前服务器环境的位置匹配,请查看“wp-config.php”中的设置。

答案 3 :(得分:2)

当上传路径更改为您网站主目录之外的目录时,可能会发生这种情况,我已多次看到它;通常当人们在路径的开头添加斜杠时。在主机帐户中的主目录路径发生更改之前,例如迁移站点或托管服务更改路径时,此类设置可能不会导致任何问题。

它可以创建巨大的日志文件,有时会耗尽整个服务器上的磁盘空间,导致多个网站失败。

upload_path选项可在设置 - >中找到。标签下的媒体"将上传内容存储在此文件夹中#34;。 注意:从版本3.5开始,除非您已经拥有非默认路径(除了wp-content / uploads之外的其他任何内容),否则该选项将被隐藏。

如果由于任何原因您无法访问WordPress管理员,但您确实可以访问数据库,只需删除wp_options表中upload_path的值。

您可以在phpMyAdmin中找到包含查询的行:

SELECT * FROM `wp_options` where option_name = 'upload_path'

从那里,您可以单击option_value字段并进行编辑,然后只需单击该字段外部即可保存更改。

View#setBackgroundDrawable

答案 4 :(得分:0)

您可能已经解决了这个问题,但为了将来参考,我想在此处添加此内容,因为所有建议的解决方案都不适合我。

我遇到了error_log的同样增加,几乎立即占用了我的VPS上的所有磁盘空间。

找到问题的根源需要一些时间,因为它并不是一直发生的。在我的例子中,它不是safe_mode的问题,也不是更新wp-config来设置临时目录:问题是Wordpress站点最初是一个博客站点,后来迁移到Wordpress。一些帖子的wp_postmeta行仍然引用博客网站......这些行包含路径,我们(显然)在允许的路径之外。删除触发'open_basedir limited in effect'错误的帖子的wp_postmeta行,解决了问题,我从未见过错误。