0

0

linux php7-fpm启动失败怎么办

藏色散人

藏色散人

发布时间:2023-02-20 09:20:46

|

5194人浏览过

|

来源于php中文网

原创

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免费学习笔记(深入)”;

 

一、首先说一下我的配置,关于配置 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'

方法一:

Fireflies.ai
Fireflies.ai

自动化会议记录和笔记工具,可以帮助你的团队记录、转录、搜索和分析语音对话。

下载

当编译好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视频教程

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
excel制作动态图表教程
excel制作动态图表教程

本专题整合了excel制作动态图表相关教程,阅读专题下面的文章了解更多详细教程。

20

2025.12.29

freeok看剧入口合集
freeok看剧入口合集

本专题整合了freeok看剧入口网址,阅读下面的文章了解更多网址。

65

2025.12.29

俄罗斯搜索引擎Yandex最新官方入口网址
俄罗斯搜索引擎Yandex最新官方入口网址

Yandex官方入口网址是https://yandex.com;用户可通过网页端直连或移动端浏览器直接访问,无需登录即可使用搜索、图片、新闻、地图等全部基础功能,并支持多语种检索与静态资源精准筛选。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

197

2025.12.29

python中def的用法大全
python中def的用法大全

def关键字用于在Python中定义函数。其基本语法包括函数名、参数列表、文档字符串和返回值。使用def可以定义无参数、单参数、多参数、默认参数和可变参数的函数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

16

2025.12.29

python改成中文版教程大全
python改成中文版教程大全

Python界面可通过以下方法改为中文版:修改系统语言环境:更改系统语言为“中文(简体)”。使用 IDE 修改:在 PyCharm 等 IDE 中更改语言设置为“中文”。使用 IDLE 修改:在 IDLE 中修改语言为“Chinese”。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

16

2025.12.29

C++的Top K问题怎么解决
C++的Top K问题怎么解决

TopK问题可通过优先队列、partial_sort和nth_element解决:优先队列维护大小为K的堆,适合流式数据;partial_sort对前K个元素排序,适用于需有序结果且K较小的场景;nth_element基于快速选择,平均时间复杂度O(n),效率最高但不保证前K内部有序。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

12

2025.12.29

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

134

2025.12.29

抖音网页版入口在哪(最新版)
抖音网页版入口在哪(最新版)

抖音网页版可通过官网https://www.douyin.com进入,打开浏览器输入网址后,可选择扫码或账号登录,登录后同步移动端数据,未登录仅可浏览部分推荐内容。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

63

2025.12.29

快手直播回放在哪看教程
快手直播回放在哪看教程

快手直播回放需主播开启功能才可观看,主要通过三种路径查看:一是从“我”主页进入“关注”标签再进主播主页的“直播”分类;二是通过“历史记录”中的“直播”标签页找回;三是进入“个人信息查阅与下载”里的“直播回放”选项。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

18

2025.12.29

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 6.2万人学习

Git 教程
Git 教程

共21课时 | 2.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号