您好,登錄后才能下訂單哦!
小編給大家分享一下ecshop調試模式參數DEBUG_MODE怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
找到ecshop源碼根目錄下的data/config.php文件,在文件尾部加入:
define('DEBUG_MODE', 0);
其中參數如下,如果要配置多個參數,則寫相加的值
0 //禁用調試調試
1 //顯示所有錯誤
2 //禁用Smarty緩存
4 //使用includes/lib.debug.php
8 //記錄查詢的SQL到data目錄下以mysql_query_開頭的文件
為
方便開發調式
,顯示所有的錯誤信息和禁用SMARTY緩存。
define('DEBUG_MODE', 3); // 3=1+2
各參數原理說明
1)禁用調試模式,不顯示錯誤信息
if (defined('DEBUG_MODE') == false) { define('DEBUG_MODE', 0); }
默認設置為關閉錯誤和不記錄錯誤日志,啟用smarty緩存,生產環境使用。
2)顯示所有錯誤信息
在includes/init.php文件最后找到:
if ((DEBUG_MODE & 1) == 1) { error_reporting(E_ALL); } else { error_reporting(E_ALL ^ (E_NOTICE | E_WARNING)); }
如果位運算成立,則開啟全部錯誤信息,不成立則天啟除E_NOTICE、E_WARNING級別外的全部錯誤信息
3)禁用Smarty緩存
在前臺功能php文件中,如index.php、goods.php、category.php等,都有:
if ((DEBUG_MODE & 2) != 2) { $smarty->caching = true; }
如果位運算條件成立,則開啟smarty的緩存。
4)使用includes/lib.debug.php來調試
if ((DEBUG_MODE & 4) == 4) { include(ROOT_PATH . 'includes/lib.debug.php'); }
如果位運算條件成立,則引入文件lib_debug.php來調試錯誤信息。
5)記錄查詢的SQL到指定文件中
在includes/cls_mysql.php文件query方法中
if (defined('DEBUG_MODE') && (DEBUG_MODE & 8) == 8) { $logfilename = $this->root_path . DATA_DIR . '/mysql_query_' . $this->dbhash . '_' . date('Y_m_d') . '.log'; $str = $sql . "\n\n"; if (PHP_VERSION >= '5.0') { file_put_contents($logfilename, $str, FILE_APPEND); } else { $fp = @fopen($logfilename, 'ab+'); if ($fp) { fwrite($fp, $str); fclose($fp); } } }
條件成立,SQL查詢語句將會追加寫入到data/目錄下,日志文件名由$logfilename定義。
以上是“ecshop調試模式參數DEBUG_MODE怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。