linux php7-fpm啟動失敗的解決方法:1、修改「php-fpm.conf」檔案中的「error_log」項目;2、修改php的設定檔位置;3 、將nginx修改為目前系統的使用者名稱;4、直接建立nginx使用者和使用者群組即可。
php-fpm啟動失敗的解決(centOS安裝PHP後)
在centOS7.0上編譯安裝php7.2.1後,因為新增了php擴展,所以需要重啟php-fpm;
一、先說一下我的配置,關於配置php-fpm:
#剛開始安裝後,這幾個檔案是沒有的,需要逐個cp創建,然後啟動即可,如果沒有報錯,則不用看「二、php-fpm 啟動報錯:」
1、關於配置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、
啟動php-fpm:
/usr/local/php/sbin/php-fpm
二、php-fpm 啟動錯誤:
原因及解決方法:
1、直接運行,有報錯找不到設定檔。
$ 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權限(sudo)
或在普通使用者有權限的目錄裡放置設定文件,透過--fpm- config參數指定設定檔的位置,如下:
# 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
錯誤訊息顯示:無法正確的開啟」日誌「文件,原因是預設在/usr/var目錄下工作,可以修改設定檔指定正確的日誌檔案路徑
$ vim /usr/local/etc/php-fpm.conf
修改php-fpm.conf檔案中的error_log項,預設前綴是/usr/var ,但並沒有這個路徑
error_log = /usr/local/var/log/php-fpm.log pid = /usr/local/var/run/php-fpm.pid
或不修改設定檔中設定項的路徑,在php-fpm的運行參數中(-p)指定放置運行時檔案的相對路徑前綴
$ php-fpm --fpm-config /php-fpm.conf --prefix /usr/local/var
到此,php-fpm守護程序已經基本上可以正確的啟動了。
報錯訊息:
[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、出錯的原因主要是/usr/local/php5/sbin/php-fpm配置錯誤,仔細檢查下。我的錯誤就是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
3、啟動php-fpm 報錯ERROR: [pool www] cannot get uid for user 'nginx'
方法一:
當編譯好php7之後用以下指令啟動
<code><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">/usr/local/php/sbin/php-fpm</pre><div class="contentsignin">登入後複製</div></div><div class="contentsignin">登入後複製</div></div>
#然後報出這樣的錯誤:
[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修改為目前系統的使用者名稱如下:
; 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
方法二:
直接建立nginx使用者和使用者群組
useradd nginx groupadd nginx usermod -G nginx nginx
三、php-fpm 內容擴充
啟動php-fpm:
<code>#<div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">/usr/local/php/sbin/php-fpm</pre><div class="contentsignin">登入後複製</div></div><div class="contentsignin">登入後複製</div></div>
# 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
kill -USR2 42891
[global] ; Pid file ; Note: the default prefix is /usr/local/php/var ; Default Value: none ;pid = run/php-fpm.pid
kill -INT 'cat /usr/local/php/var/run/php-fpm.pid'
kill -USR2 'cat /usr/local/php/var/run/php-fpm.pid'
以上是linux php7-fpm啟動失敗如何解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!