linux php7-fpm启动失败如何解决
May 13, 2023 pm 10:40 PM
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
1 2 3 |
|
2、
启动php-fpm:
1 |
|
二、php-fpm 启动报错:
原因及解决办法:
1、直接运行,有报错找不到配置文件。
1 2 3 4 5 |
|
可以在/private/etc/ 目录下生成配置文件,需要root权限(sudo)
或者在普通用户有权限的目录里放置配置文件,通过--fpm-config参数指定配置文件的位置,如下:
1 2 3 4 5 |
|
错误信息显示:不能正确的打开”日志“文件,原因是默认在/usr/var目录下工作,可以修改配置文件指定正确的日志文件路径
1 |
|
修改php-fpm.conf文件中的error_log项,默认前缀是/usr/var ,但并没有这个路径
1 2 |
|
或者不修改配置文件中配置项的路径,在php-fpm的运行参数中(-p)指定放置运行时文件的相对路径前缀
1 |
|
到此,php-fpm守护进程已经基本可以正确的启动了。
报错信息:
1 2 3 |
|
2、出错的原因主要是/usr/local/php5/sbin/php-fpm配置错误,仔细检查下。我的错误就是group = www这里少了=号。所以出错了
1 2 |
|
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;"><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><div class="contentsignin">登录后复制</div></div>
然后报出这样的错误:
1 2 |
|
修改php的配置文件位置在www.conf
1 |
|
将nginx修改为当前系统的用户名如下:
1 2 3 4 5 |
|
方法二:
直接创建nginx用户和用户组
1 2 3 |
|
三、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;"><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><div class="contentsignin">登录后复制</div></div>
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进程号
1 2 3 4 5 |
|
重启php-fpm:
1 |
|
OK了。
上面方案一般是没有生成php-fpm.pid文件时使用,如果要生成php-fpm.pid,使用下面这种方案:
上面master进程可以看到,matster使用的是/usr/local/php/etc/php-fpm.conf这个配置文件,cat /usr/local/php/etc/php-fpm.conf 发现:
1 2 3 4 5 |
|
pid文件路径应该位于/usr/local/php/var/run/php-fpm.pid,由于注释掉,所以没有生成,我们把注释去除,再kill -USR2 42891 重启php-fpm,便会生成pid文件,下次就可以使用以下命令重启,关闭php-fpm了:
php-fpm 关闭:
1 |
|
php-fpm 重启:
1 |
|
以上是linux php7-fpm启动失败如何解决的详细内容。更多信息请关注PHP中文网其他相关文章!

热门文章

热门文章

热门文章标签

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

适用于 Ubuntu 和 Debian 的 PHP 8.4 安装和升级指南

如何设置 Visual Studio Code (VS Code) 进行 PHP 开发
