PHP错误日志-PHP.INI唯一文件用于PHP错误



我目前正在从事一个项目,为了提供帮助,我将我的php.ini文件更改为" php_errors.log"在其中的目录中的" php_errors.log"。PHP文件已返回错误。

我想知道,在线搜索后(也许我没有正确地措辞),是否有任何方法可以在php.ini文件中为不同的错误设置唯一的文件名。

例如,如果在account.php上发生错误,是否有任何方法可以通过INI文件记录错误文件" councel_php_errors.log"?

在INI文件中,您可以设置一个全局错误文件,如果要覆盖以下几行可以将以下行添加到" account.php"

ini_set(" log_errors",1);

ini_set(" error_log","/path/to/logfile.log");

error_log("一个错误");

  • ,或者如果使用框架,则可以检查文档以查看如何自定义错误。框架将具有高级记录机制。

您无法根据生成致命错误的PHP文件来使用php.ini登录多个文件。

您可以尝试使用register_shutdown_function捕获致命错误,然后使用您在数组响应中获取的get_last_error中的 ['file']登录到单个文件。

如果您正在练习以对象为导向的编程,则可以使用某些记录方法将错误分离为单个文件。

php.ini文件本身内的选项不是这种灵活的(这实际上是一件好事,因此可以有效地应用诸如Logrotate之类的其他程序)。您可以查看通过应用程序完成所需的内容(无论是框架还是纯自定义代码)。如果您在Linux系统上或在Windows上的活动查看器中搜索,则可以弄清楚您需要的内容。这确实取决于您的特定需求。

您可以在应用程序中创建一个自定义错误处理程序。您应该能够从此处获取所有需要的详细信息

// error handler function
function myErrorHandler($errno, $errstr, $errfile, $errline) {
 // file_put_contents
}
set_error_handler("myErrorHandler");

更多信息:http://php.net/manual/en/function.set-error handler.php

我会重新考虑将错误日志保存在不同目录中的目的,因为这会使您的应用程序混乱。仅来自不同文件夹的格雷普日志并不是那么可信赖,如果您想添加使用Elasticsearch的LogStash(例如LogStash),您将被迫进行更复杂的设置

最新更新