PHP 错误日志 - 为什么我遇到这么多 openbase_dir 问题?
首先,抱歉标题含糊。不知道如何措辞最好。我将从我的 php 日志副本开始。
这只是我的日志的一小部分。我假设我遇到了试图写入日志的编程错误,但这发生在大约 60 个子域的每个页面加载中。我最近才意识到这一点,因为出现了一些重大的速度问题。服务器负载正常,但最近运行多个 ajax 脚本的速度急剧下降。我希望这一切都是相关的,通过解决这个问题,速度问题就会解决。
我的主要问题是,与 php 错误无关,由于 openbase_dir 问题,它们无法写入。但是,正如您从日志中看到的那样,它甚至没有尝试写入相关文件夹。
子域: corrigansni 正尝试写入 choicerentals 的日志文件夹,即使它们不相关并且 choicerentals 子域不再存在。我也不知道哪个脚本正在尝试写入日志。
有人能回答以下问题吗:
- 在哪里可以设置更改写入日志的位置?
- 为什么我得到的是 第 0 行未知 而不是脚本位置
- 为什么每次页面加载和 ajax 调用都可能导致这种情况发生。
顺便说一句,我尝试更改我正在使用的 PHP 版本,但仍然遇到相同的问题。
提前致谢
编辑:一些人在其他地方提出了类似的问题。这其实不一样。那个问题问如何放宽 openbase_dir,我不想这样做。
我的问题有几个部分:
首先;它试图访问目录中不相关的文件夹。我该如何更改该位置。
其次,我的 openbase_dir 设置似乎是正确的,那么为什么它无法访问它呢?
第三,什么原因导致它尝试从未知位置写入 error_log 文件。
您的 PHP 设置的
error_log
设置
的值不正确,该设置指向您已告知 PHP 不应写入的目录。这会导致在启动每个请求时出现警告,因为 PHP 会在到达 PHP 代码的第一行之前处理您的设置文件。由于它无法写入指定的日志文件,因此它会恢复为默认设置,即回显到“标准错误”,最终会将其拾取并放入您看到的通用日志文件中。
可以在多个位置设置配置变量,有关详细信息,请参阅
PHP 手册的运行时配置章节
;例如,可能有一个或多个
php.ini
文件,以及从 Apache 配置文件传入的设置。要么是设置被错误地从一个站点复制到另一个站点,要么是在两个站点都使用的全局配置文件中设置的。
记录的特殊路径 (
C:\Inetpub\vhosts\ivech.co.uk\logs\php_errors\choicerentals.ivech.co.uk\php_error.log
) 表明设置本身就是错误的,除了提到错误的站点之外;可能它指定的是相对路径而不是绝对路径(以
C:\
开头)。
正如评论中所指出的,
open_basedir
设置似乎也是错误的,因为它似乎是 Linux 格式,而日志消息表明您正在 Windows 上运行。
任何发现此问题的人都发现了我的问题。我的文件夹结构中有一个名为 .user.ini 的愚蠢小文件,它正在设置 Windows 路径。一定是来自我们以前使用的旧 Windows 服务器。