解決ThinkPHP關閉偵錯模式時報錯的問題匯總_php技巧

來源:互聯網
上載者:User

案例一:

最近用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。

以上所述就是本文的全部內容了,希望大家能夠喜歡。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.