首頁 >後端開發 >PHP問題 >php連接資料庫出現502錯誤

php連接資料庫出現502錯誤

尚
原創
2019-10-28 16:52:223335瀏覽

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; s ,此參數指明了每個children最多處理多少個請求後便會被關閉。在大量處理請求下,如果該值設定過小會導致 children頻繁的自殺和建立而浪費 大量時間,若所有的children差不多都在這個時候自殺,則重建前將沒有children響應請求,於是出現502  。可以將該值設定大一些或0[無限]。

推薦:

php伺服器

以上是php連接資料庫出現502錯誤的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn