您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關php連接數據庫出現502錯誤的解決方法的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
nginx+php 出現502 bad gateway,一般這都不是nginx的問題,而是由于 fastcgi或者php的問題導致的,常見的有以下幾種。
1. php.ini 的memory_limit 過小(如果有個別php程序進程需要占用極大內存時這個必須注意)
2. php-fpm.conf 中max_children或者max_requests 設置不合理(設置過小會因為沒有足夠的cgi進程處理請求,設置過大會出現一會兒有響應正常,一會兒等很久才有響應的情況,一般情況下children 按 照內存計算,比如說1G設置64,2G128。這個根據實際情況自行調整。
另外查看當前的PHP FastCGI進程數是否夠用的命令為:netstat -anpo |grep “php-cgi” | wc -l 如果實際使用的“FastCGI進程數”接近預設的“FastCGI進程 數”,那么,說明“FastCGI進程數”不夠用,需要增大。)
3. 查看nginx錯誤日志,發現 pstream sent too big header while reading response headerfrom upstream ,則檢查client head buffer,fastcgi buffer size是否過小,可設置為32K。
4. php 程序執行時間過長而超時,檢查nginx和fastcgi中各種timeout設置。
(nginx 中的 fastcgi_connect_timeout 300;fastcgi_send_timeout 300 :fastcgi_read_timeout300; keepalive_timeout ; php-fpm中的request_terminate_timeout,php.ini中的max_execution_time)
5. php-fpm 有一個參數 max_requests ,該參數指明了每個children最多處理多少個請求后便會被關閉。在大量處理請求下,如果該值設置過小會導致 children頻繁的自殺和建立而浪費 大量時間,若所有的children差不多都在這個時候自殺,則重建前將沒有children響應請求,于是出現502 。可以將該值設置大一些或者是0[無限]。
感謝各位的閱讀!關于php連接數據庫出現502錯誤的解決方法就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。