動機
codeigniter v3
在開發時,嘗試在 model 裡面添加 try cacth,但是並沒有抓住
過程
第一件事情就是google,關鍵字查詢以後馬上找到問題。
Stack overflow
大致上就是走框架的show error的話,他程式在走進你的catch前就被 exit()了
可是由於動的範圍太大了,所以改用另外一種方式
直接關閉db_debug,自己寫程式來處理錯誤
在config/database.php下面發現了這句
$db['default'] = array(
...
'db_debug' => (ENVIRONMENT !== 'production'),
知道了他是由環境變數決定的於是我去index.php中找到了
* This can be set to anything, but default usage is:
*
* development
* testing
* production
*
* NOTE: If you change these, also change the error_reporting() code below
*/
//define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');
define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'production');
解決方案
更新 index.php 中的環境變數,從開發改為線上
# vi index.php
define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');
改成
define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'production');
留言
張貼留言