Zend Framework中的ErrorHandler

本文介绍了一种在开发阶段启用错误直接显示的方法,并演示了如何在部署时通过自定义错误控制器引导用户至友好的错误提示页面,同时记录详细的错误日志。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为了方便调试,在index.php中可以设置$frontController->throwExceptions(true),这样所有错误会直接显示在浏览器中

 

但是最后部署时候,可以删除该句,并且增加application/Controller/ErrorController.php,以及/application/views/script/error/error.html来引导用户到一个错误提示页面

并且可以将错误记录到log文件中:

 

  1. <?php
  2. /** Zend_Controller_Action */
  3. require_once 'Gado/Controller/Action.php';
  4. require_once 'Zend/Log.php';
  5. require_once 'Zend/Log/Writer/Stream.php';
  6. class ErrorController extends Gado_Controller_Action
  7. {
  8.     public function errorAction()
  9.     {
  10.         $errors = $this->_getParam('error_handler');
  11.         $request = $this->getRequest();
  12.         $exception = $errors->exception;
  13.         $log = new Zend_Log(new Zend_Log_Writer_Stream('./log/applicationException.log'));
  14.         $log->debug($request->getRequestUri());
  15.         $log->debug(var_export($_POST, true) ."/n". var_export($_GET, true));
  16.         $log->debug($exception->getMessage());
  17.         $log->debug($exception->getTraceAsString());
  18.     }
  19. }
  20. ?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值