站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

linux php7-fpm啟動失敗怎么辦

linux php7-fpm啟動失敗的解決辦法:1、修改“php-fpm.conf”文件中的“error_log”項(xiàng);2、修改php的配置文件位置;3、將nginx修改為當(dāng)前系統(tǒng)的用戶名;4、直接創(chuàng)建nginx用戶和用戶組即可。

linux php7-fpm啟動失敗怎么辦

本教程操作環(huán)境:Windows10系統(tǒng)、php7.2.1版、DELL G3電腦

linux php7-fpm啟動失敗怎么辦?

php-fpm啟動失敗的解決(centOS安裝PHP后)

在centOS7.0上編譯安裝php7.2.1后,因?yàn)樾录恿藀hp擴(kuò)展,所以需要重啟php-fpm;

一、首先說一下我的配置,關(guān)于配置 php-fpm:

剛開始安裝后,這幾個文件是沒有的,需要逐個cp創(chuàng)建,然后啟動即可,如果沒有報錯,則不用看 “二、php-fpm 啟動報錯:”

1、關(guān)于配置 php-fpm

cp php.ini-development /usr/local/php7/etc/php.ini cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf
登錄后復(fù)制

2、

啟動php-fpm:

/usr/local/php/sbin/php-fpm
登錄后復(fù)制

二、php-fpm 啟動報錯:

原因及解決辦法:

1、直接運(yùn)行,有報錯找不到配置文件。

$ php-fpm  [11-Jan-2014 16:03:03] ERROR: failed to open configuration file '/private/etc/php-fpm.conf': No such file or directory (2) [11-Jan-2014 16:03:03] ERROR: failed to load configuration file '/private/etc/php-fpm.conf' [11-Jan-2014 16:03:03] ERROR: FPM initialization failed
登錄后復(fù)制

可以在/private/etc/ 目錄下生成配置文件,需要root權(quán)限(sudo)

或者在普通用戶有權(quán)限的目錄里放置配置文件,通過–fpm-config參數(shù)指定配置文件的位置,如下:

# cp /private/etc/php-fpm.conf.default /etc/php-fpm.conf $ php-fpm --fpm-config /etc/php-fpm.conf [11-Jan-2014 16:10:49] ERROR: failed to open error_log (/usr/var/log/php-fpm.log): No such file or directory (2) [11-Jan-2014 16:10:49] ERROR: failed to post process the configuration [11-Jan-2014 16:10:49] ERROR: FPM initialization failed
登錄后復(fù)制

錯誤信息顯示:不能正確的打開”日志“文件,原因是默認(rèn)在/usr/var目錄下工作,可以修改配置文件指定正確的日志文件路徑

$ vim /usr/local/etc/php-fpm.conf
登錄后復(fù)制

修改php-fpm.conf文件中的error_log項(xiàng),默認(rèn)前綴是/usr/var ,但并沒有這個路徑

error_log = /usr/local/var/log/php-fpm.log pid = /usr/local/var/run/php-fpm.pid
登錄后復(fù)制

或者不修改配置文件中配置項(xiàng)的路徑,在php-fpm的運(yùn)行參數(shù)中(-p)指定放置運(yùn)行時文件的相對路徑前綴

$ php-fpm --fpm-config /php-fpm.conf  --prefix /usr/local/var
登錄后復(fù)制

到此,php-fpm守護(hù)進(jìn)程已經(jīng)基本可以正確的啟動了。

報錯信息:

[12-Jul-2013 17:18:57] ERROR: [/usr/local/php5/etc/php-fpm.conf:144] value is NULL for a ZEND_INI_PARSER_ENTRY [12-Jul-2013 17:18:57] ERROR: failed to load configuration file '/usr/local/php5/etc/php-fpm.conf' [12-Jul-2013 17:18:57] ERROR: FPM initialization failed
登錄后復(fù)制

2、出錯的原因主要是/usr/local/php5/sbin/php-fpm配置錯誤,仔細(xì)檢查下。我的錯誤就是group = www這里少了=號。所以出錯了

[root@localhost ~]# /usr/local/php5/sbin/php-fpm PHP:  syntax error, unexpected TC_STRING in /usr/local/php5/etc/php.ini on line 211
登錄后復(fù)制

3、啟動php-fpm 報錯ERROR: [pool www] cannot get uid for user 'nginx'

方法一:

當(dāng)編譯好php7之后用以下命令啟動

/usr/local/php/sbin/php-fpm
登錄后復(fù)制

登錄后復(fù)制

然后報出這樣的錯誤:

[07-Dec-2018 17:59:31] ERROR: [pool www] cannot get uid for user 'nginx' [07-Dec-2018 17:59:31] ERROR: FPM initialization failed
登錄后復(fù)制

修改php的配置文件位置在www.conf

vi /usr/local/php/etc/php-fpm.d/www.conf
登錄后復(fù)制

將nginx修改為當(dāng)前系統(tǒng)的用戶名如下:

; Unix user/group of processes  ; Note: The user is mandatory. If the group is not set, the default user's group  ;       will be used.  user = www.emam.cn  group = www.emam.cn
登錄后復(fù)制

方法二:

直接創(chuàng)建nginx用戶和用戶組

useradd nginx groupadd nginx usermod -G nginx nginx
登錄后復(fù)制

三、php-fpm 內(nèi)容擴(kuò)展

啟動php-fpm:

/usr/local/php/sbin/php-fpm
登錄后復(fù)制

登錄后復(fù)制

php 5.3.3 以后的php-fpm 不再支持 php-fpm 以前具有的 /usr/local/php/sbin/php-fpm (start|stop|reload)等命令,所以不要再看這種老掉牙的命令了,需要使用信號控制:

master進(jìn)程可以理解以下信號

INT, TERM 立刻終止

QUIT 平滑終止

USR1 重新打開日志文件

USR2 平滑重載所有worker進(jìn)程并重新載入配置和二進(jìn)制模塊

一個簡單直接的重啟方法:

先查看php-fpm的master進(jìn)程號

# ps aux|grep php-fpm root     21891  0.0  0.0 112660   960 pts/3    R+   16:18   0:00 grep --color=auto php-fpm root     42891  0.0  0.1 182796  1220 ?        Ss   4月18   0:19 php-fpm: master process (/usr/local/php/etc/php-fpm.conf) nobody   42892  0.0  0.6 183000  6516 ?        S    4月18   0:07 php-fpm: pool www nobody   42893  0.0  0.6 183000  6508 ?        S    4月18   0:17 php-fpm: pool www
登錄后復(fù)制

重啟php-fpm:

kill -USR2 42891
登錄后復(fù)制

OK了。

上面方案一般是沒有生成php-fpm.pid文件時使用,如果要生成php-fpm.pid,使用下面這種方案:

上面master進(jìn)程可以看到,matster使用的是/usr/local/php/etc/php-fpm.conf這個配置文件,cat /usr/local/php/etc/php-fpm.conf 發(fā)現(xiàn):

[global] ; Pid file ; Note: the default prefix is /usr/local/php/var ; Default Value: none ;pid = run/php-fpm.pid
登錄后復(fù)制

pid文件路徑應(yīng)該位于/usr/local/php/var/run/php-fpm.pid,由于注釋掉,所以沒有生成,我們把注釋去除,再kill -USR2 42891 重啟php-fpm,便會生成pid文件,下次就可以使用以下命令重啟,關(guān)閉php-fpm了:

php-fpm 關(guān)閉:

kill -INT 'cat /usr/local/php/var/run/php-fpm.pid'
登錄后復(fù)制

php-fpm 重啟:

kill -USR2 'cat /usr/local/php/var/run/php-fpm.pid'
登錄后復(fù)制

推薦學(xué)習(xí):《PHP視頻教程》

贊(0)
分享到: 更多 (0)
網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
精品中文字幕一区二区三区四区| 91精品国产91久久久久久蜜臀 | 久久精品国产亚洲AV香蕉| 国产成人精品怡红院在线观看| 亚洲国产精品特色大片观看完整版| 一级A毛片免费观看久久精品| 四虎国产精品永久在线网址| 成人精品视频一区二区| 国产精品自在在线午夜蜜芽tv在线| 真实国产乱子伦精品免费| 亚洲综合精品香蕉久久网97| 亚洲国产第一站精品蜜芽| 免费精品久久天干天干| 东北妇女精品BBWBBW| 国产精品成人一区二区| 伊人久久无码精品中文字幕| 日韩福利在线视频| 亚洲日韩精品无码专区| 日韩一区二区电影| 日韩蜜芽精品视频在线观看| 国产精品亚洲天堂| 国产精品嫩草影院在线| 国产精品色午夜免费视频| 欧洲精品免费一区二区三区| WWW国产亚洲精品久久麻豆| 日韩av无码国产精品| 久久国产精品99国产精| 国产精品无码久久综合网| 国内精品视频一区二区八戒| 欧美精品久久久久久精品爆乳| 免费看国产精品3a黄的视频| 婷婷射精av这里只有精品| 国产精品麻豆成人AV网| 国语自产精品视频在线看| 国产精品亚洲а∨无码播放不卡 | 久久精品国产亚洲av影院| 久久久久成人精品无码中文字幕| 人妻少妇精品中文字幕av蜜桃| 日韩精品乱码AV一区二区| 99精品在线免费观看| 777亚洲精品乱码久久久久久|