linuxphp7-fpm啟動(dòng)失敗如何解決

這篇文章主要介紹“l(fā)inux php7-fpm啟動(dòng)失敗如何解決”,在日常操作中,相信很多人在linux php7-fpm啟動(dòng)失敗如何解決問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”linux php7-fpm啟動(dòng)失敗如何解決”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

創(chuàng)新互聯(lián)公司長(zhǎng)期為上千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為蘇仙企業(yè)提供專業(yè)的網(wǎng)站設(shè)計(jì)、網(wǎng)站制作,蘇仙網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。

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

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

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

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

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

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

2、

啟動(dòng)php-fpm:

/usr/local/php/sbin/php-fpm

二、php-fpm 啟動(dòng)報(bào)錯(cuò):

原因及解決辦法:

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

$ 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

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

或者在普通用戶有權(quán)限的目錄里放置配置文件,通過(guò)--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

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

$ vim /usr/local/etc/php-fpm.conf

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

error_log = /usr/local/var/log/php-fpm.log
pid = /usr/local/var/run/php-fpm.pid

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

$ php-fpm --fpm-config /php-fpm.conf  --prefix /usr/local/var

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

報(bào)錯(cuò)信息:

[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

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

[root@localhost ~]# /usr/local/php5/sbin/php-fpm
PHP:  syntax error, unexpected TC_STRING in /usr/local/php5/etc/php.ini on line 211

3、啟動(dòng)php-fpm 報(bào)錯(cuò)ERROR: [pool www] cannot get uid for user 'nginx'

方法一:

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

/usr/local/php/sbin/php-fpm

然后報(bào)出這樣的錯(cuò)誤:

[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

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

vi /usr/local/php/etc/php-fpm.d/www.conf

將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

方法二:

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

useradd nginx
groupadd nginx
usermod -G nginx nginx

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

啟動(dòng)php-fpm:

/usr/local/php/sbin/php-fpm

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

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

INT, TERM 立刻終止

QUIT 平滑終止

USR1 重新打開(kāi)日志文件

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

一個(gè)簡(jiǎn)單直接的重啟方法:

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

# 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

重啟php-fpm:

kill -USR2 42891

OK了。

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

上面master進(jìn)程可以看到,matster使用的是/usr/local/php/etc/php-fpm.conf這個(gè)配置文件,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

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

php-fpm 關(guān)閉:

kill -INT 'cat /usr/local/php/var/run/php-fpm.pid'

php-fpm 重啟:

kill -USR2 'cat /usr/local/php/var/run/php-fpm.pid'

到此,關(guān)于“l(fā)inux php7-fpm啟動(dòng)失敗如何解決”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

網(wǎng)站題目:linuxphp7-fpm啟動(dòng)失敗如何解決
轉(zhuǎn)載源于:http://bm7419.com/article38/jdggsp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、App設(shè)計(jì)、搜索引擎優(yōu)化域名注冊(cè)、企業(yè)建站、網(wǎng)頁(yè)設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

營(yíng)銷型網(wǎng)站建設(shè)