動機
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');
留言
張貼留言