-
預設情況下,thinkphp 在發生錯誤時會顯示系統的預設錯誤頁面,而在正式啟動時,為了統一使用者體驗,我們可以自定義自己的錯誤頁面,通常有兩種方式:
1. 自定義系統錯誤頁面模板。
預設錯誤模板位於:thinkphp tpl think
我們只需要修改專案中的 tmpl 異常檔案配置引數,並重新指定錯誤模板即可。
tmpl_exception_file'=> 定義乙個常見的錯誤模板。
e['file'] 異常檔名。
e['line'] 發生異常的檔案行數。
e['message'] 異常資訊。
e['trace'] 異常的詳細跟蹤資訊。
由於異常模板使用原生 PHP**,因此它還可以支援使用任何 PHP 方法和系統變數。
2.設定錯誤的重定向頁面。
如果你想在發生錯誤時被重定向到指定的URL,而不是讀取錯誤模板,我們也可以直接設定錯誤頁面引數。
error_page'=>'/public/'定義錯誤重定向頁面的 URL。
請注意,錯誤頁面指向的頁面不能再使用異常模板變數。
-
ThinkPHP有乙個專門為開發過程設定的除錯模式,當除錯模式開啟時,會犧牲一定的執行效率,但由此帶來的便利和除錯功能是非常值得的。
這可以在門戶檔案中設定。
-
$value = c('配置檔案中鍵的值');
config = array();
config['db_name'] = 'mysql';
config['db_pwd'] = '123123';
c($config);如果將 c 方法的第乙個引數傳遞到陣列中,則表示批量賦值,上面的賦值等效於:
c('db_name',1);
c('db_pwd',1);
userid = c('db_name');獲取引數 $usertype = c('db_pwd');獲取集合的引數。
-
首先要做的是在 lib 操作下構建模組。
內容如下: 複製** **如下:
author rocky
date 20141021
DESC空模組404等錯誤。
class emptyaction extends commonaction {
function _empty(){
header("http/ 404 not found");
this->display('public:404');
2. 經過以上處理後,只有在訪問空模組時才能訪問 404 頁面,因此為了訪問 empty 方法並同時訪問 404 頁面,我們還需要新增乙個空方法,方法如下:
複製****如下:
處理所有沒有它們的方法,導致 404 頁面。
public function _empty()
r('empty/_empty');
3. 做上面的工作基本上是可以的,但不要忘記把你的頁面放在TPL Public下。
-
IIS 環境。
如果伺服器環境支援 ISAPI 重寫,則可以配置檔案並新增以下內容:
在更高版本的 IIS 下面,可以配置為在中間新增乙個重寫節點:
nginx 環境。
在早期版本的 nginx 中,不支援 pathinfo,但可以通過在以下位置配置 **規則來實現:
location / { // ….省略部分**。
if (!e $request_filename) {
break;
其實內部是**到thinkphp提供的相容模式的URL,這樣就可以解決其他不支援pathinfo的web伺服器環境了。
如果你的 thinkphp 安裝在輔助目錄下,Nginx 的偽靜態方法設定如下,其中 YouDomain 是它所在的目錄名。
location /youdomain/ {
if (!e $request_filename){
-
直接在 conf 目錄中定義常量。
-
要啟用除錯模式,只需在主入口檔案中定義乙個常量。
然後在配置檔案中定義乙個引數,使能頁面跟蹤顯示資訊,如下所示:
show page trace' =true,啟用頁面跟蹤
這樣就配置好了,開啟除錯模式後,專案會載入 thinkphp 核心包的 conf 目錄下的預設檔案,也可以在專案配置目錄下自定義乙個,這樣就可以覆蓋核心包中的預設檔案了,我們來看看預設配置了哪些引數。
return array(
log_record'=>true,記錄到 Wangran 行。
log_exception_record' =
true,是否記錄異常資訊。
log_level' =
emerg,alert,crit,err,warn,notic,info,debug,sql',則允許日誌記錄的日誌級別。
db_fields_cache'=>false,字段快取資訊。
tmpl_cache_on' =
false,是否開啟模板編譯快取,設定為false,每次都會重新編譯。
tmpl_strip_space' =
false,是否從模板檔案中刪除 HTML 空格和換行符。
show_error_msg' =
true,則顯示錯誤訊息。
裡面的引數可以自己定義,裡面有乙個app檔案case檢查檔名Lupi很重要,也就是在Windows下模擬Linux平台,因為Linux環境是區分大小寫的,而且現在很多PHP虛擬主機伴隨的玲玲都是Linux環境,所以開啟這個引數對我們的跨平台移植有很大的幫助,當你開啟除錯模式和頁面跟蹤時,去展示模板看看頁面有什麼不同。
可執行檔案,你可以雙擊安裝它,只要記住安裝目錄就可以了,因為你以後會用到這個安裝目錄。如果是壓縮包,解壓後只需要記住位置即可; 解壓後的檔案內容如下圖所示; >>>More