Из книги CakePHP :
Вызов этого метода покажет пользователю страницу с ошибкой и остановит любую дальнейшую обработку в вашем приложении
Я предполагаю, что вы вызываете ошибку при некотором обратном вызове в AppController
.
Если это так, вы, скорее всего, остановите выполнение своего скрипта до того, как будут созданы ваши компоненты. Это наверняка приведет к вашей ошибке.
Теперь, я думаю, что эта ошибка - хороший шанс пересмотреть, как вы справляетесь с проблемой. Это действительно ошибка? Вы знаете, что статус обслуживания установлен, поэтому ожидается , что пользователю будет показана эта страница. Это не ошибка. Более того, вы, конечно, не захотите, чтобы в вашем журнале было 10 000 сообщений о том, что вы включили обслуживание!
Я думаю, что это можно лучше решить, используя некоторые обратные вызовы контроллера и немного кода.
Я не знаю, что такое _get_config (), поэтому я предполагаю, что это пользовательская функция, которую можно вызвать в этом обратном вызове.
Мы будем использовать beforeFilter()
обратный вызов контроллера.
class AppController extends Controller {
public function beforeFilter() {
if ($this->_get_config('maintenance_status') === 1) {
$this->redirect('/maintenance');
}
}
}
Теперь вы можете просто настроить контроллер обслуживания, привязанный к его собственному представлению, который будет правильно отображать ваше сообщение об обслуживании и не будет регистрировать все эти попытки подключения во время обслуживания в вашем журнале ошибок.