Thinkphp5 線上部署 正常返回數據,狀態碼卻是500

做了挺久的小程序后臺,正準備上線,卻發現數據返回全部正常,但是狀態碼全部都是500。

????第一反應是萬惡的緩存,清理緩存給runtime目錄777 權限,發現還是不行?

倒回去查看本地環境,發現一切正常,刪除緩存和日志,測試,發現目錄中日志目錄和緩存目錄同時生成了文件。

查看線上環境的log目錄,發現權限不足,修改成777 解決。

期間搜索了下百度,發現好多答案都不知道原因。

主要答案有修改runtime目錄權限,還有關閉debug。其實這兩個是共通的,thinkphp 5的默認log目錄在runtime里面,并且thinkphp5?默認打開debug的情況下生成日志。

所以目錄權限不足,會導致500報錯,應該是文件在寫入的時候,沒有權限導致,但是我的業務流程卻是正常執行,說明thinphp5并沒有把日志寫入失敗作為異常拋出,卻改變了它的狀態碼。所以導致了數據正常返回,但是狀態碼卻離奇變成了500。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容