這篇文章主要介紹“l(fā)inux php7-fpm啟動(dòng)失敗如何解決”,在日常操作中,相信很多人在linux php7-fpm啟動(dòng)失敗如何解決問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”linux php7-fpm啟動(dòng)失敗如何解決”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(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ù);打造開放共贏平臺(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)和眾多成功案例,為您定制開發(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;
一、首先說一下我的配置,關(guān)于配置 php-fpm:
剛開始安裝后,這幾個(gè)文件是沒有的,需要逐個(gè)cp創(chuàng)建,然后啟動(dòng)即可,如果沒有報(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)限的目錄里放置配置文件,通過--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ò)誤信息顯示:不能正確的打開”日志“文件,原因是默認(rèn)在/usr/var目錄下工作,可以修改配置文件指定正確的日志文件路徑
$ vim /usr/local/etc/php-fpm.conf
修改php-fpm.conf文件中的error_log項(xiàng),默認(rèn)前綴是/usr/var ,但并沒有這個(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 重新打開日志文件
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了。
上面方案一般是沒有生成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,由于注釋掉,所以沒有生成,我們把注釋去除,再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ī)砀鄬?shí)用的文章!
網(wǎng)站題目:linuxphp7-fpm啟動(dòng)失敗如何解決
轉(zhuǎn)載源于:http://www.rwnh.cn/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í)需注明來源: 創(chuàng)新互聯(lián)