2012-04-17 48 views
2

一切工作正常。沒有錯誤。我將調試更改爲0,突然我的頁面發出404錯誤,並且在我的日誌中,我注意到我在應用程序控制器中聲明的變量(以前完美工作)現在以未定義的方式返回。爲什麼在CakePHP中將debug更改爲0 break static pages?

古怪。爲什麼要將調試改爲0會導致這種行爲?

編輯:2012年4月18日

我戳周圍的頁面控制器。在「$ path = func_get_args();」之後當我投擲骰子(print_r($ path))時。隨着調試1或2返回這個在我的主頁:

Array 
(
    [0] => home 
) 

當調試設置爲0

它是空白下面是我的一些路由:

Router::connect('/', array('controller' => 'pages', 'action' => 'display', 'home')); 
Router::connect('/login', array('controller' => 'users', 'action' => 'login')); 
Router::connect('/logout', array('controller' => 'users', 'action' => 'logout')); 

Router::connect('/today', array('controller' => 'users', 'action' => 'today')); 
Router::connect('/profile', array('controller' => 'users', 'action' => 'profile')); 

$staticPages = array(
     'about', 
     'contact' 
); 

$staticList = implode('|', $staticPages); 

Router::connect('/:static', array(
    'plugin' => false, 
    'controller' => 'pages', 
    'action' => 'display'), array(
     'static' => $staticList, 
     'pass' => array('static') 
    ) 
); 

從調試日誌:

2012-04-17 10:28:08 Notice: Notice (8): Undefined variable: loggedIn in [/Users/conrad/Desktop/Creative/DEV/virtutrain/app/View/Elements/Header.ctp, line 3] 
Trace: 
include - APP/View/Elements/Header.ctp, line 3 
View::_evaluate() - CORE/Cake/View/View.php, line 908 
View::_render() - CORE/Cake/View/View.php, line 872 
View::element() - CORE/Cake/View/View.php, line 412 
include - APP/View/Layouts/default.ctp, line 22 
View::_evaluate() - CORE/Cake/View/View.php, line 908 
View::_render() - CORE/Cake/View/View.php, line 872 
View::renderLayout() - CORE/Cake/View/View.php, line 527 
View::render() - CORE/Cake/View/View.php, line 471 
Controller::render() - CORE/Cake/Controller/Controller.php, line 959 
ExceptionRenderer::_outputMessage() - CORE/Cake/Error/ExceptionRenderer.php, line 263 
ExceptionRenderer::error400() - CORE/Cake/Error/ExceptionRenderer.php, line 209 
ExceptionRenderer::render() - CORE/Cake/Error/ExceptionRenderer.php, line 165 
ErrorHandler::handleException() - CORE/Cake/Error/ErrorHandler.php, line 127 
[main] - [internal], line ?? 

錯誤日誌:

2012-04-17 10:28:08 Error: [NotFoundException] Not Found 
#0 /Users/conrad/Desktop/Creative/DEV/virtutrain/lib/Cake/View/View.php(908): include() 
#1 /Users/conrad/Desktop/Creative/DEV/virtutrain/lib/Cake/View/View.php(872): View->_evaluate('/Users/conrad/D...', Array) 
#2 /Users/conrad/Desktop/Creative/DEV/virtutrain/lib/Cake/View/View.php(463): View->_render('/Users/conrad/D...') 
#3 /Users/conrad/Desktop/Creative/DEV/virtutrain/lib/Cake/Controller/Controller.php(959): View->render('about', NULL) 
#4 /Users/conrad/Desktop/Creative/DEV/virtutrain/app/Controller/PagesController.php(88): Controller->render('about') 
#5 [internal function]: PagesController->display('about') 
#6 /Users/conrad/Desktop/Creative/DEV/virtutrain/lib/Cake/Controller/Controller.php(485): ReflectionMethod->invokeArgs(Object(PagesController), Array) 
#7 /Users/conrad/Desktop/Creative/DEV/virtutrain/lib/Cake/Routing/Dispatcher.php(103): Controller->invokeAction(Object(CakeRequest)) 
#8 /Users/conrad/Desktop/Creative/DEV/virtutrain/lib/Cake/Routing/Dispatcher.php(85): Dispatcher->_invoke(Object(PagesController), Object(CakeRequest), Object(CakeResponse)) 
#9 /Users/conrad/Desktop/Creative/DEV/virtutrain/app/webroot/index.php(96): Dispatcher->dispatch(Object(CakeRequest), Object(CakeResponse)) 
#10 {main} 

再次...沒有得到任何錯誤,任何調試時爲1或2 ...

此安裝正在對甲基苯丙胺在本地運行,但錯誤也出現在其上運行的發佈的網站上MediaTemple的網格服務(具有或多或少的默認設置)。

+0

以前從未有過或見過這個問題。你能提供更多的信息嗎?路由配置,核心設置,服務器配置等。 – elitalon 2012-04-17 14:20:56

+0

你跟蹤的錯誤顯示'$ loggedIn'不存在,但那是因爲它產生了一個404錯誤(因爲控制器/操作可能沒有被發現)並可能跳過設置變量的代碼。關閉調試並轉到相同的URL,異常/錯誤應該更具體。 – jeremyharris 2012-04-17 14:48:29

+0

就是這樣;當我打開調試時,絕對沒有任何錯誤拋出或記錄,並且一切正常。 – 2012-04-17 16:55:56

回答

3

哇...這是坐在我home.ctp頁面視圖,並得到了複製到所有其他網頁:

if (Configure::read('debug') == 0): 
    throw new NotFoundException(); 
endif; 

主要跆拳道,但不管......問題就迎刃而解了。

+1

關閉調試引發異常的原因是[here](https://github.com/cakephp/cakephp/issues/4109#issuecomment-50524943)。 (添加此評論以幫助那些通過搜索到達此處的人。) – ADmad 2014-07-29 19:25:09

相關問題