【伺服器】本地執行成功,但伺服器上執行卻顯示錯誤500

丹俠啊GODOG發表於2017-07-20

前言

注:開發語言:PHP。
本人寫了一個網頁,在本地環境執行是正常的,但是當我放到雲伺服器上時,網頁就一直報500錯誤:
這裡寫圖片描述
下面是我解決問題的思路與過程。

思路

① 分清楚開發環境

在本地,我的作業系統是windows,但是雲伺服器上我選擇的作業系統是Centos 6.5。首先,開發語言PHP是跨平臺的,所以不用考慮語言的關係,但是在開發的時候我用到了Smarty模板,該模板在win環境和Linux用的是不同的包,在Smarty下載官網可以看到有下面兩種資源包:
這裡寫圖片描述
zip版為windows平臺使用,tar.gz為Linux平臺使用。如果解決了這個後,錯誤500還在,就看看是不是其他問題。

②伺服器上PHP的配置問題

百度了很多解決方法,有人說是因為PHP的使用記憶體不夠,需要進行調整,所以我嘗試了該解決方法,找到php.ini檔案:
這裡寫圖片描述
並修改使用記憶體由128M增加到512M:
這裡寫圖片描述
但是錯誤500依舊存在。接著嘗試其他解決方法

③發現錯誤的根本原因

當我們看到錯誤500並在網上百度的時候,就會發現大部分人都說這是因為Apache的原因導致了錯誤,所以導致了我們一開始解決問題的方向就出了偏差。其實有時候錯誤500並不一定就是Apache的原因。這是因為伺服器在php.ini中把錯誤提示關閉了,所以只要有錯,不管是什麼錯誤,瀏覽器都會返回錯誤500,剛入門者不瞭解情況都會以為是Apache錯誤了,現在需要把錯誤提示開啟。
將php.ini內的display_errors = Off,改為On。
當我們再重新整理介面時,就會直接提示程式碼中的錯誤,而不是錯誤500了。
接下來大家只需要根據錯誤提示就能解決問題了。

相關文章