我正在尝试使用 CakePHP 2.1.0实现类似Mark Story 的“Down for Maintenance”页面。这是我到目前为止所拥有的:
应用程序/配置/bootstrap.php:
Configure::write('App.maintenance', true);
应用程序/控制器/AppController.php:
if (Configure::read('App.maintenance')) {
App::uses('UnderMaintenanceException', 'Error/Exception');
throw new UnderMaintenanceException();
}
最后,我有一个位于“app/Lib/Error/Exception/UnderMaintenanceException.php”的文件,但它是空白的,因为我不知道该放什么。无论调试是否设置为 0,我怎样才能使它成为一个看起来友好的“我们正在维护”页面?谢谢!
编辑:我现在意识到我的问题有些不清楚。所以我把以下内容放在我的“app/Lib/Error/Exception/UnderMaintenanceException.php”文件中:
<?php
class UnderMaintenanceException extends HttpException {}
现在,当我转到任何页面时,都会得到以下输出:
Fatal Error (256): [UnderMaintenanceException]
#0 /Applications/MAMP/htdocs/my_project/app/Lib/Error/AppExceptionRenderer.php(12): AppController->beforeFilter()
#1 /Applications/MAMP/htdocs/my_project/lib/Cake/Error/ExceptionRenderer.php(232): AppExceptionRenderer->_outputMessage('error500')
#2 [internal function]: ExceptionRenderer->error500(Object(UnderMaintenanceException))
#3 /Applications/MAMP/htdocs/my_project/lib/Cake/Error/ExceptionRenderer.php(165): call_user_func_array(Array, Array)
#4 /Applications/MAMP/htdocs/my_project/lib/Cake/Error/ErrorHandler.php(127): ExceptionRenderer->render()
#5 [internal function]: ErrorHandler::handleException(Object(UnderMaintenanceException))
#6 {main} [CORE/Cake/Error/ErrorHandler.php, line 136]
如果我将调试值更改为 0,则不会得到任何输出。不是很友好!无论哪种方式,我该怎么做才能获得友好的输出?