您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關php中503錯誤出現的原因,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
定義:
503
是一種HTTPS狀態碼。英文名503 Service Unavailable與404(404 Not Found)是同屬一種網頁狀態出錯碼。前者是服務器出錯的一種返回狀態,后者是網頁程序沒有相關的結果后返回的一種狀態,需要優化網站的時候通常需要制作404出錯頁以便網站整體優化。
由于臨時的服務器維護或者過載,服務器當前無法處理請求。這個狀況是臨時的,并且將在一段時間以后恢復。如果能夠預計延遲時間,那么響應中可以包含一個Retry-After
起頭用以標明這個延遲時間。如果沒有給出這個Retry-After
信息,那么客戶端應當以處理500(Server Internal Error)響應的方式處理它。
原因:
一、網頁出現
1、網絡管理員可能關閉應用程序池以執行維護。
2、當請求到達時應用程序池隊列已滿。
3、應用程序池標識沒有使用預定義賬戶:網絡服務,而自己配置了標識,但是配置的這個用戶不屬于IIS_WPG
組
4、應用程序池啟用了CPU監視,并且設置了CPU利用率超過一定百分比關閉應用程序池,而開發人員寫的服務端頁面(.asp,.aspx)執行效率不高,會引起CPU的長時間占用,最終達到設置的百分比,從而引起應用程序池關閉
5、應用程序池的性能選項卡的請求隊列限制所填的數值太小,默認為1000。
6、web.config
的system.web/httpRuntime
節點的appRequestQueueLimit
屬性設置的值太低。
二、主機站點
主要原因有兩點:
1、該站點正在被攻擊。對于最新型的攻擊,其實是ddos的一種派生,原理在于找數千個IP,同時向服務器的apache發出請求,然后 立即斷開,讓apache處于等待狀態,致使apache線程全部被填滿,致使服務器死機。
因此,為了保證大多數客戶的利益,我們給每個 空間,作出了每19秒64個php請求的限制。注意,是php請求,一般的圖片請求和html請求不包括在內。
2、該程序占用的php線程過多,有的程序沒有進行好優化處理,一個點擊即可產生數個,甚至數十個php線程。這樣的話,幾個點擊就可以把該時段的64個php線程全部填滿了。因此出現503錯誤。建議優化一下程序,盡量少用require(“請求”之意)等語句。
解決方法:
1.驗證是否已為虛擬服務器配置了應用程序池。默認的應用程序池是MSSharePointPortalAppPool。請按照下列步驟來確定虛擬服務器正在使用的應用程序池。
a.單擊“開始”,指向“管理工具”,然后單擊“Internet信息服務(IIS)管理器”。
b.展開“ServerName”,展開“Web站點”,右鍵單擊虛擬服務器,然后單擊“屬性”。
c.單擊“主目錄”選項卡。為虛擬服務器配置的應用程序池列在“應用程序池”框中。
d.單擊“確定”。
2、驗證應用程序池帳戶使用的密碼是否正確。IIS不會自動輪詢ActiveDirectory目錄服務中的密碼更改。如果應用程序池帳戶是一個域帳戶,其密碼已過期,則在為此帳戶重新指定一個新密碼后,您可能會收到本文“癥狀”部分所描述的錯誤信息。
3、驗證應用程序池帳戶是服務器上的IIS_WPG組和STS_WPG組的成員。
4、重新啟動IIS以回收應用程序池。
看完上述內容,你們對php中503錯誤出現的原因有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。