小花404自定义页面


Kohana 404 custom page

我一直在环顾四周,按照每个教程进行操作,有一个很突出。 http://blog.lysender.com/2011/02/kohana-3-1-migration-custom-error-pages/<--我按照本教程进行操作,一切都很顺利

  1. 检测到错误
  2. 正在处理异常

但是有一个我似乎找不到的例外。 我目前有此异常

Fatal error: Exception thrown without a stack frame in Unknown on line 0

我的所有代码都与站点链接相同。 请帮助我.. 我从来一直在为此烦恼,我也在这里浏览了 Kohana 3 - 重定向到 404 页面,但由于我是初学者,所以真的很难理解它。我还发现从 KO 3.0 到 3.1 有一个重大的改造,KO 3.2 怎么样?谢谢你们的帮助,伙计们:)

来自 kohana 源代码。

- > If you receive *Fatal error: Exception thrown without a stack frame in Unknown on line 0*, it means there was an error within your exception handler. If using the example above, be sure *404.php* exists under */application/views/error/*.

也许它有帮助。这可能已经修复,但我并没有那么关注 kohana 的发展。它与拉取请求#246有关:https://github.com/kohana/core/pull/246,这是来源:https://github.com/kohana/core/pull/246/files#L208L76

这是我如何使用Kohana 3.2

做到的
  • 在索引中添加处理内容的异常.php
    尝试    {        $request = $request->执行();    }    捕获(Kohana_HTTP_Exception_404 $e)    {        $request = 请求::工厂('错误/404')->执行();    }    捕获(例外$e)    {        $request = 请求::工厂('错误/500')->执行();    }    echo $request->send_headers()->body();
  • 然后写入错误控制器
类 Controller_Errors 扩展控制器{    公共职能__construct($request、$response)    {        家长::__construct($request,$response);    }    公共函数 action_404()    {        $this->响应->正文(查看::工厂('错误/404'));    }    公共函数 action_500()    {        $this->响应->正文(查看::工厂('错误/500'));    }}
  • 在视图/错误中创建 2 个相应的错误页面(404.php 和 500.php)

  • 将新路由添加到引导程序中.php或使用默认路由(取决于您的项目结构),只需确保在抛出异常时可以访问Controller_Errors

  • 现在,每次在控制器中引发异常时,它都会显示自定义错误页面,如下所示
抛出新的HTTP_Exception_404;