站長資訊網
        最全最豐富的資訊網站

        linux php7-fpm啟動失敗怎么辦

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

        linux php7-fpm啟動失敗怎么辦

        本教程操作環境:Windows10系統、php7.2.1版、DELL G3電腦

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

        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之后用以下命令啟動

        /usr/local/php/sbin/php-fpm
        登錄后復制

        登錄后復制

        然后報出這樣的錯誤:

        [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:

        /usr/local/php/sbin/php-fpm
        登錄后復制

        登錄后復制

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

        master進程可以理解以下信號

        INT, TERM 立刻終止

        QUIT 平滑終止

        USR1 重新打開日志文件

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

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

        先查看php-fpm的master進程號

        # 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文件時使用,如果要生成php-fpm.pid,使用下面這種方案:

        上面master進程可以看到,matster使用的是/usr/local/php/etc/php-fpm.conf這個配置文件,cat /usr/local/php/etc/php-fpm.conf 發現:

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

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

        php-fpm 關閉:

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

        php-fpm 重啟:

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

        推薦學習:《PHP視頻教程》

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 人妻偷人精品成人AV| 日本一卡精品视频免费| 亚洲国产精品尤物yw在线 | 91麻豆精品一二三区在线| 麻豆亚洲AV永久无码精品久久| 精品乱码久久久久久夜夜嗨| 夜色www国产精品资源站| 国内精品久久人妻互换| 亚洲av午夜福利精品一区人妖| 久热这里只有精品99国产6| 国产精品青青在线观看爽香蕉| 久久成人精品视频| 国产成人精品午夜福利| 久热这里只有精品视频6| 亚洲国产精品18久久久久久| 久久亚洲中文字幕精品有坂深雪 | 日本精品一区二区三区在线观看 | 亚洲一日韩欧美中文字幕欧美日韩在线精品一区二 | 99热亚洲色精品国产88| 蜜国产精品jk白丝AV网站| 午夜精品一区二区三区免费视频 | 国产精品无码a∨精品| 精品亚洲国产成AV人片传媒| 人人妻人人澡人人爽欧美精品| 亚洲日韩精品无码专区网站| 久久无码人妻精品一区二区三区| 国产精品麻豆VA在线播放| 国产成人高清精品免费观看| 99RE8这里有精品热视频| 91人妻人人澡人人爽人人精品| 一区二区精品在线| 国产成人久久精品二区三区| 国产精品成人小电影在线观看 | 99国产精品国产免费观看| 亚洲精品天天影视综合网| 87国产私拍福利精品视频| 9191精品国产免费久久| 国产三级精品三级在线观看| 久久久国产精品| 最新精品亚洲成a人在线观看| 中日精品无码一本二本三本|