2011-03-09 28 views
1

好的,所以我使用CodeIgniter 1.7.3編寫了一個應用程序,並且所有內容都很花哨。升級到CodeIgniter 2.0,但現在我的PHP錯誤不會出現在日誌中,我該怎麼辦?

然後我搬到CodeIgniter的2.0,這一切工作正常,但現在它不會在我的php_error.log顯示錯誤

所以舉例來說,如果我有一個方法名拼寫錯誤,我用得到例如:

[04-Feb-2011 16:20:01] PHP Fatal error: Call to undefined method Some_controller::my_method() in /Applications/MAMP/htdocs/application/controllers/some_controller.php on line 61

現在我什麼也沒得到。我的瀏覽器窗口中只有500個servlet異常。

到目前爲止,香港專業教育學院檢查我的php.ini 已使用error_reporting = E_ALL和log_errors =在 還的display_errors =開(儘管我認爲這將記錄到屏幕上沒有該文件)

我只是想故意斷非笨PHP文件,我在我的日誌就像得到一個錯誤:

[10-Mar-2011 02:47:02] PHP Fatal error: Call to undefined function fake_method() in /Applications/MAMP/htdocs/test.php on line 2

所以它似乎只是笨哪犯規日誌。我的配置/ config.php具有這樣的日誌記錄集:$ config ['log_threshold'] = 4; $ config ['log_threshold'] = 5;

也index.php有error_reporting(E_ALL);

它的這種痛苦調試時,我沒有得到行號... 其他人可以告訴我還有什麼我應該改變/檢查讓我的記錄回來?

回答

0

所以我發現我已經自動加載了一個庫(paypal_lib),由於某種原因,它的頂部有error_reporting(0)。

0

嘗試設置ini_set('display_erros',1);

+0

嗨,謝謝你。 我忘了提,但我已經有了這套。 – icchanobot 2011-03-10 01:13:28

1

確保您的index.php已經錯誤報告設置爲ALL

error_reporting(E_ALL);

對於顯示日誌中出現錯誤,在線路181檢查你的配置如果設置到 $config['log_threshold'] = 4;

這會記錄一切......

+0

嗨,我的描述中提到我已經有了這些設置。 – icchanobot 2011-03-10 01:14:06

0

值得注意的是,如果您定義了環境但不使用它們,那麼在'production'和'testing'中設置了error_reporting(0)。請參閱index.php 31行:

if (defined('ENVIRONMENT')) { 
switch (ENVIRONMENT) 
{ 
    case 'development': 
     error_reporting(E_ALL); 
    break; 

    case 'testing': 
    case 'production': 
     error_reporting(0); 
    break; 

    default: 
     exit('The application environment is not set correctly.'); 
} 
} 
相關問題