国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

將PHP從5.3.28升級到5.3.29時Nginx出現502錯誤

2024-05-04 23:34:57
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了將PHP從5.3.28升級到5.3.29時Nginx出現502錯誤,需要的朋友可以參考下

今天將PHP從5.3.28升級到5.3.29,發現網站打不開了,提示”502 bad gateway”,訪問靜態資源可以,但訪問任何PHP文件都會502。

其實之前也發現這個問題,只是一直沒找到解決辦法,所以我一直將PHP保持在5.3.28版本。

按照我以前的脾氣,我什么軟件都得要最新的穩定版,但PHP之類的軟件是例外,因為版本高了,會導致很多程序不兼容,相對來說5.3兼容性算是最好的版本之一,當然5.2也可以。

強迫癥實在受不了,官方說5.3.29是5.3的最后一個版本,最后一個版本出現這種問題又一直沒解決讓我很難受。

網上搜索了一下,沒人出現我這種問題,所有的編譯過程,配置過程,都是照舊,之前從5.3.25一直到5.3.28都是用的我寫的同一個升級腳本,按道理同一個子版本系列,一樣的編譯和配置過程,不應該出現問題的。

為何5.3.25一直到5.3.28都沒問題,到了5.3.29就沒問題了呢?

今天終于把問題的根源找到了,我也是醉了……

由于我不想占用額外的端口,所以Nginx和PHP-FPM之間一直使用的Unix socket,而且據說這種方式效率也高一些。

PHP升級到5.3.29以后,出現502錯誤,而且是一打開網頁就報錯了,不像是由于PHP執行超時導致的Nginx提示502,更像是PHP-FPM異常終止了,或者是Ngxin根本沒有連接上fastcgi。

使用PHP-FPM的日志也是郁悶,我明明開啟了日志,還設置了日志路徑,但還是沒有生成日志。

好吧,根據前面的思路推測出來的原因找問題:

1.PHP-FPM一開始工作就異常終止了;

2.Ngxin根本沒有連接上fastcgi。

第一種可能直接就排除了,因為出現502錯誤的時候,后臺的PHP-FPM進程并沒有退出,還存活得好好的。

那么很可能是第二種可能了,我把Nginx和PHP-FPM的配置文件修改了一下,改成了傳統的“地址:端口”的形式

PHP-FPM配置文件中:

listen = 127.0.0.1:1234

Nginx配置文件中:

fastcgi_pass 127.0.0.1:1234

重啟服務,網站竟然順利打開了。

看來就是Nginx沒有連接上PHP-FPM了,那么問題出在哪里呢?難道5.3.29去掉了Unix socket的連接方式?我覺得不大可能,查閱更新日志,也沒有看到有關的項目啊。

我將Nginx和PHP-FPM的配置文件改回去。

PHP-FPM配置文件中:

listen = /tmp/php-cgi.sock

Nginx配置文件中:

fastcgi_pass unix:/tmp/php-cgi.sock;

重啟服務,立馬又502了。

首先想到了檢查權限,反正是測試,所以我二話不說直接把那個PHP-FPM的sock文件權限改為777。

chmod 777 /tmp/php-cgi.sock

直接打開網頁,能打開!

好吧,就是權限問題了,重啟服務,查看php-cgi.sock 的權限

-rwx------. 1 root root 663 9月 18 00:16 php-cgi.sock

這。。。原因已經很明了了,怪不得Nginx連不上PHP-FPM,php-cgi.sock的權限竟然是700,

但問題來了,為什么同樣的編譯和配置過程,5.3.28之前的版本就沒問題呢?我查看另一臺沒有升級5.3.29的服務器:

srw-rw-rw- 1 root root 0 9月 16 21:11 php-cgi.sock

發現其權限是666,這……無法理解了……為什么5.3.28的默認權限配置是666,到了5.3.29就變成700了呢?

查閱PHP文檔,找到解決辦法

將PHP-FPM里的配置文件加入,前兩項是指定php-cgi.sock的擁有者和用戶組,后一項是指定文件權限。

listen.owner = www

listen.group = www

listen.mode = 0666

重啟服務,問題解決。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宜宾县| 邢台市| 吉安县| 略阳县| 莱芜市| 金阳县| 萨嘎县| 潞城市| 神农架林区| 嫩江县| 隆化县| 来宾市| 云霄县| 藁城市| 长顺县| 江陵县| 巍山| 建德市| 伊川县| 黄龙县| 东乌珠穆沁旗| 张家港市| 咸宁市| 修水县| 威海市| 信宜市| 清镇市| 柳江县| 清新县| 将乐县| 温州市| 徐水县| 加查县| 萨迦县| 顺昌县| 道孚县| 苏州市| 永平县| 张掖市| 武川县| 招远市|