【发布时间】:2015-07-09 08:56:04
【问题描述】:
在 Zend Framework 应用程序的 index.php 中。我检查 application.ini 和 local.ini 是否存在。如果这些不存在,那么我想退出并将消息放在可以看到的地方,例如 syslog。在 PHP 和 ZF1 的上下文中,什么是好的方法?如果我抛出,那将导致退出,但我不确定它是否会记录在任何地方。
【问题讨论】:
标签: php exception zend-framework
在 Zend Framework 应用程序的 index.php 中。我检查 application.ini 和 local.ini 是否存在。如果这些不存在,那么我想退出并将消息放在可以看到的地方,例如 syslog。在 PHP 和 ZF1 的上下文中,什么是好的方法?如果我抛出,那将导致退出,但我不确定它是否会记录在任何地方。
【问题讨论】:
标签: php exception zend-framework
您可以尝试将应用程序执行包装在 try {} catch {} 块中:
try {
$application->bootstrap()->run();
} catch (\Exception $e) {
error_log($e->getMessage(), $e->getCode());
throw $e;
}
这样您将捕获所有异常,将它们记录到您的 PHP 错误日志中,并且仍然可以看到抛出的异常。
如您所见,它使用 PHP 的 error_log 函数。
如果您想将消息写入 syslog,只需将 error_log 行替换为
syslog(LOG_ERR, $e->getMessage());
如果您想记录整个堆栈跟踪,也可以调用$e->getTraceAsString()。
【讨论】: