解決ThinkPHP關閉調試模式時報錯的問題彙總

投稿:hebedich 字體:[增長 減少] 類型:轉載 時間:2015-04-22 我要評論
本文給你們彙總了一下我的在項目中所遇到的關閉ThinkPHP的調試模式時遇到報錯的幾種狀況以及最終的處理辦法,很是的簡單實用,這裏分享給你們,有須要的小夥伴能夠參考下。

案例一:
最近用ThinkPHP開發一個項目,本地開發測試完成上傳到服務器後,第一次打開正常,再刷新頁面時就出現 「頁面調試錯誤,沒法找開頁面,請重試」的錯誤.
我就鬱悶啦,明明本地設置define('APP_DEBUG', false) 運行沒點問題,怎麼放到服務器上就出錯了暱?
baidu,Google仍是沒有找到解決方案,忽然發現項目APP_Name/Runtime/Cache目錄和APP_Name/Runtime/Logs目錄沒有可寫權限,果斷更改,F5,唉好啦,媽媽不再用擔憂出現錯誤信息啦!
案例二:
ThinkPHP 將 APP_DEBUG 常量設置爲 false 後出現了相似下面的問題:
複製代碼 代碼以下:

Parse error: syntax error, unexpected T_STRING in E:\PHPnow\htdocs\ojbak\Runtime\~app.php on line 1 
或者直接報」服務器錯誤」, 怎麼辦?
這個和 PHP 有關係,在 php.ini 裏修改配置
複製代碼 代碼以下:

short_open_tag = On 
由於 app.class.php 裏面的 build 方法:
當開啓了調試模式後,會獲取相關文件的內容 而後從新組合成文件 這個時候是會自動加上 的
也就是你看到的 ~app.php 文件了
可是當你不開啓調試模式後,會每次都會加載相關的文件,這樣子,你的錯誤就暴露出來了。
案例三:
在thinkphp中將APP_DEBUG設置爲false以後,數據查詢(select, find等等)老是顯示第一條。。可是把APP_DEBUG設置爲true以後,就正常了。。這是爲何?有什麼解決方案嗎?
正常來講,APP_DEBUG是調試模式,放到線上環境,儘可能要設置爲false的。。
本身找一個select查詢,在關閉debug的狀況下,用寫文件的方式調試下查詢後生成的sql。
以上所述就是本文的所有內容了,但願你們可以喜歡。
相關文章
相關標籤/搜索