我遇到的问题是每天都会导致错误日志大量增加。
[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
提前致谢
答案 0 :(得分:5)
您正在共享托管。因此,您无法访问整个服务器。根据您的日志,这些是您的网站/var/www/vhosts/inspartnership.org.uk/
/tmp/
的允许路径,并且您正尝试访问/
目录,从而导致问题发生。
您可以使用这些wordpress内置函数为您解决此问题。
http://codex.wordpress.org/Theme_Development#Anatomy_of_a_Theme
答案 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字段并进行编辑,然后只需单击该字段外部即可保存更改。
答案 4 :(得分:0)
您可能已经解决了这个问题,但为了将来参考,我想在此处添加此内容,因为所有建议的解决方案都不适合我。
我遇到了error_log的同样增加,几乎立即占用了我的VPS上的所有磁盘空间。
找到问题的根源需要一些时间,因为它并不是一直发生的。在我的例子中,它不是safe_mode的问题,也不是更新wp-config来设置临时目录:问题是Wordpress站点最初是一个博客站点,后来迁移到Wordpress。一些帖子的wp_postmeta行仍然引用博客网站......这些行包含路径,我们(显然)在允许的路径之外。删除触发'open_basedir limited in effect'错误的帖子的wp_postmeta行,解决了问题,我从未见过错误。