我如何配置Monolog以在响应内输出PHP错误,就像没有Monolog一样?
我想做的是,例如,当PHP页面内发生PHP E_ERROR时,该错误消息将输出到响应中,并且还传递给为Monolog设置的任何其他处理程序。
AFAIK,我可能会使用StreamHandler并将其输出到stdout,但不知道如何执行此操作或它是否可以按预期工作?
我有两种选择:
Monolog重新格式化错误消息,然后将其输出到响应中
Monolog将错误(或异常)中继回PHP本机错误处理,以便它在响应中以相同格式输出消息,就像Monolog没有在中介它一样
我如何实现这些目标?我什至不知道如何让Monolog将自己注册为异常和错误的处理程序。我是否需要编写自己的函数以传递给register_error_handler()
,register_exception_handler()
和register_shutdown_function()
?
参考方案
精简版:
use Monolog\ErrorHandler;
$logger = new Logger('Logger Name');
ErrorHandler::register($logger);
更长,更可定制的版本:
use Monolog\ErrorHandler;
$logger = new Logger('Logger Name');
$handler = new ErrorHandler($logger);
$handler->registerErrorHandler([], false);
$handler->registerExceptionHandler();
$handler->registerFatalHandler();
PHP-将日期插入日期时间字段 - php我已在数据库中使用datetime字段存储日期,使用PHP将“今天的日期”插入该字段的正确方法是什么?干杯, 参考方案 我认为您可以使用php date()函数
PHP-如何获取类的成员函数列表? - php如果我知道班级的名字。有没有办法知道类的成员函数列表? 参考方案 get_class_methods()是你的朋友
php ziparchive类源代码 - phpImprove this question 我如何获取ziparchive类本身的源代码。 参考方案 假设您在谈论PHP ZipArchive class:下载PHP source code并查找适当的文件。如果您希望源代码是PHP代码,您可能会感到失望,因为源代码是用C语言编写的。或者,也可以在PHP Github Development Reposito…
PHP getallheaders替代 - php我正在尝试从服务器上的apache切换到nginx。唯一的问题是我在PHP脚本中使用的getallheaders()函数,该函数不适用于Nginx。我已经尝试过用户在getallheaders函数上的php站点上提供的注释,但这并不返回所有请求标头。请告诉我如何解决这个问题。我真的想切换到Nginx。 参考方案 您仍然可以使用它,但是您必须像这里一样重新定义…
PHP-如何建议搜索字词,“你是说……?” - php当使用不检索任何结果的术语搜索数据库时,我想允许“您是不是……”建议(例如Google)。例如,如果有人寻找“ jquyer””,它将输出“ did you mean jquery?”当然,建议结果必须与数据库内部的值匹配(我正在使用mysql)。您知道可以做到这一点的图书馆吗?我已经用谷歌搜索过,但是没有找到任何好的结果。或者,也许您有一个想法,该如何独自…