我一直在环顾四周,按照每个教程进行操作,有一个很突出。 http://blog.lysender.com/2011/02/kohana-3-1-migration-custom-error-pages/<--我按照本教程进行操作,一切都很顺利
- 检测到错误
- 正在处理异常
但是有一个我似乎找不到的例外。 我目前有此异常
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;