doudun2565 2019-06-25 12:38
浏览 119

PHP错误日志 - 为什么我会遇到这么多openbase_dir问题?

Firstly, apologies for the vague title. Not sure how best to word it. I'll start off with a copy of my php logs.

[25-Jun-2019 12:21:44] WARNING: [pool corrigansni.ivech.co.uk] child 58505 said into stderr: "NOTICE: PHP message: PHP Warning:  Unknown: open_basedir restriction in effect. File(C:\Inetpub\vhosts\ivech.co.uk\logs\php_errors\choicerentals.ivech.co.uk\php_error.log) is not within the allowed path(s): (/var/www/vhosts/ivech.co.uk/:/tmp/) in Unknown on line 0"
[25-Jun-2019 12:21:44] WARNING: [pool corrigansni.ivech.co.uk] child 58504 said into stderr: "NOTICE: PHP message: PHP Warning:  Unknown: open_basedir restriction in effect. File(C:\Inetpub\vhosts\ivech.co.uk\logs\php_errors\choicerentals.ivech.co.uk\php_error.log) is not within the allowed path(s): (/var/www/vhosts/ivech.co.uk/:/tmp/) in Unknown on line 0"
[25-Jun-2019 12:21:45] WARNING: [pool corrigansni.ivech.co.uk] child 58499 said into stderr: "NOTICE: PHP message: PHP Warning:  Unknown: open_basedir restriction in effect. File(C:\Inetpub\vhosts\ivech.co.uk\logs\php_errors\choicerentals.ivech.co.uk\php_error.log) is not within the allowed path(s): (/var/www/vhosts/ivech.co.uk/:/tmp/) in Unknown on line 0"
[25-Jun-2019 12:21:45] WARNING: [pool corrigansni.ivech.co.uk] child 58456 said into stderr: "NOTICE: PHP message: PHP Warning:  Unknown: open_basedir restriction in effect. File(C:\Inetpub\vhosts\ivech.co.uk\logs\php_errors\choicerentals.ivech.co.uk\php_error.log) is not within the allowed path(s): (/var/www/vhosts/ivech.co.uk/:/tmp/) in Unknown on line 0" 

That's just a small section of my logs. I'm assuming I have programming errors which are trying to write to the logs but this is happening on every page load of roughly 60 subdomains. I've only become aware of it due to some major speed issues recently. The server load is fine however the speed of running multiple ajax scripts has decreased dramatically recently. I'm hoping this is all related and by fixing this problem the speed issues will fix.

My main issue is that irrelevant of the php errors, they're not able to write because of the openbase_dir problem. However, as you can see from the logs it's not even trying to write to a related folder.

subdomain: corrigansni is trying to write to the log folder for choicerentals even though they aren't related and choicerentals subdomain no longer exists. I'm also not being told which script is trying to write the logs.

Can anyone answer the following:

  1. where the setting may be to change where it is writing the logs?
  2. why i'm getting unknown on line 0 instead of a script location
  3. why every single page load and ajax call may be causing this to happen.

Just as a side note, I've tried changing the PHP version I'm using, still get the same issues.

Thanks in advance

EDIT: A few people have suggested a similar question elsewhere. It's not really the same. That questions asks how to relax openbase_dir, I don't want to do that.

My question has a few parts:

Firstly; it's trying to access a folder within the directory which is not relevant. How do I change that location.

Secondly; my openbase_dir settings appear to be correct so why would it not be able to access it.

Thirdly. What would cause it to attempt to write to an error_log file but from an unknown location.

  • 写回答

2条回答 默认 最新

  • dou6577 2019-06-25 14:19
    关注

    Your PHP settings have an incorrect value for the error_log setting, which points to a directory you've told PHP it shouldn't write to. This is causing a Warning during the startup of every request, as PHP processes your settings files, before it's reached the first line of your PHP code. Since it can't write to the log file specified, it falls back to the default, which is to echo to "standard error", which is eventually picked up and put in the generic log file you're seeing.

    There are several places a configuration variable can be set, discussed in the Runtime Configuration chapter of the PHP manual; for instance, there may be one or more php.ini files, and settings passed in from Apache configuration files. Either the setting has been copied incorrectly from one site to another, or it is being set in a global configuration file which is used by both sites.

    The peculiar path logged (C:\Inetpub\vhosts\ivech.co.uk\logs\php_errors\choicerentals.ivech.co.uk\php_error.log) suggests that the setting is incorrect anyway, apart from mentioning the wrong site; possibly it is specifying a relative path rather than an absolute one (starting with C:\).

    As pointed out in comments, it looks like the open_basedir setting is wrong as well, as it appears to be in Linux format, whereas the log message suggests you're running on Windows.

    评论

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题