解决php-fpm.service not found问题的办法

yipeiwu_com6年前PHP代码库

前言

本文给大家详细介绍了解决php-fpm.service not found问题的相关内容,文中介绍的非常详细,下面来一起看看详细的介绍:

环境介绍

环境:ubuntu 16.04 64

php 版本:php-7.1.4

发现问题

正常编译安装 php 按照以前流程,把 init.d.php-fpm 往 /etc/init.d/php-fpm 拷贝

然后准备执行 service php-fpm start 时出错了

错误如下

Failed to start php-fpm.service: Unit php-fpm.service not found. 

提示 php-fpm.service not found

一开始以为是 php 编译安装的问题,所以直接去 php 目录下执行 php-fpm ,一切正常

但是就是用 service 管理不了

直接查看 php-fpm 管理脚本,尝试调试,最后发现执行 service 命令时,根本没有执行到这个脚本

基本排除 php 的问题

解决方法

最后找了一下 service 命令资料,找到解决办法

在 ubuntu 16.04 中,添加服务除了需要把文件copy 到 /etc/init.d/ 目录下之外,还需要使用以下命令

update-rc.d php-fpm defaults

// 添加
update-rc.d ServiceName defaults

// 删除

update-rc.d ServiceName remove

解决之后,发现之前单独运行了 php-fpm 现在 service 运行出现问题

[05-May-2017 17:09:32] ERROR: An another FPM instance seems to already listen on /run/php/php7.0-fpm.sock
[05-May-2017 17:09:32] ERROR: FPM initialization failed

提示我们已经有一个 php-fpm 在运行了,由于我是用 sock 方式运行的,没有找到 pid 看了一下 php-fpm 管理脚本的代码,找到解决办法

stop) 
 echo -n "Gracefully shutting down php-fpm "

 if [ ! -r $php_fpm_PID ] ; then
  echo "warning, no pid file found - php-fpm is not running ?"
  exit 1
 fi

 kill -QUIT `cat $php_fpm_PID`

 wait_for_pid removed $php_fpm_PID

 if [ -n "$try" ] ; then
  echo " failed. Use force-quit"
  exit 1
 else
  echo " done"
 fi
 ;;

直接执行

kill -QUIT `cat php_fpm_PID的路径` 

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对【宜配屋www.yipeiwu.com】的支持。

相关文章

关于JSON以及JSON在PHP中的应用技巧

JSON 基础 简单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户...

PHP 下载文件时自动添加bom头的方法实例

首先弄清楚,什么是bom头?在Windows下用记事本之类的程序将文本文件保存为UTF-8格式时,记事本会在文件头前面加上几个不可见的字符(EF BB BF),就是所谓的BOM(Byte...

异步加载技术实现当滚动条到最底部的瀑布流效果

异步加载技术实现瀑布流效果。当滚动条到最底部的时候触发一个事件,这个事件写入$.get()事件,向内部程序页传递类别id和页码,程序将会返回那个类别下的相对页的产品列表,如果程序查询当前...

PHP用PDO如何封装简单易用的DB类详解

PHP用PDO如何封装简单易用的DB类详解

前言 PDO扩展为PHP访问数据库定义了一个轻量级的、一致性的接口,它提供了一个数据访问抽象层,这样,无论使用什么数据库,都可以通过一致的函数执行查询和获取数据。PDO随PHP5.1发行...

一个PHP分页类的代码

下面看这一段代码: PHP 复制代码 代码如下: <? /** * filename: ext_page.class.php * @package:phpbean * @autho...