gpt4 book ai didi

php - 我如何处理 Kohana 3.3 中的所有错误

转载 作者:行者123 更新时间:2023-12-02 08:38:16 25 4
gpt4 key购买 nike

我如何处理 Kohana 3.3 中的每个错误?我的意思是没有 404/505 错误,而是来自 php 和其他 php 错误的“ fatal error ”?

我看了http://kohanaframework.org/3.3/guide/kohana/tutorials/error-pages我做了这些事情,但它只处理 404/505 错误(和其他错误)。我无法处理 500 错误。

我创建文件/APP/Classes/HTTP/Exception/500.php

class HTTP_Exception_500 extends Kohana_HTTP_Exception_500 {

public function get_response()
{
$session = Session::instance();
$view = View::factory('index');
$view->content = View::factory('errors/505');
$view->title = 'Wewnętrzny błąd';
// Remembering that `$this` is an instance of HTTP_Exception_404
$view->content->message = 'Wystąpił wewnętrzny błąd. Szczegóły zostały przekazane do administracji, naprawimy to!';

$response = Response::factory()
->status($this->getCode())
->body($view->render());

return $response;
}

但是没用..谢谢:)

最佳答案

“自定义错误页面将仅用于处理抛出 HTTP_Exception 的错误。如果您只是通过 Respose::status() 设置状态,例如 404,则不会使用自定义页面。” - 您链接的教程。

调用HTTP_Exception::get_response()的代码位于Request_Client_Internal::request_execute() .

要处理其他异常,您需要覆盖 Kohana_Exception::response() .这样的事情应该有效。

<?php defined('SYSPATH') OR die('No direct script access.');

class Kohana_Exception extends Kohana_Kohana_Exception {

/**
* Generate a Response for all Exceptions without a more specific override
*
* The user should see a nice error page, however, if we are in development
* mode we should show the normal Kohana error page.
*
* @return Response
*/
public static function response(Exception $e)
{
if (Kohana::$environment >= Kohana::DEVELOPMENT)
{
// Show the normal Kohana error page.
return parent::response();
}

$view = View::factory('index');
$view->content = View::factory('errors/500');
$view->title = 'Wewnętrzny błąd';
$view->content->message = 'Wystąpił wewnętrzny błąd. Szczegóły zostały przekazane do administracji, naprawimy to!';

$response = Response::factory()
->status(500)
->body($view->render());

return $response;
}
}

关于php - 我如何处理 Kohana 3.3 中的所有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19105885/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com