热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

phpcgihelp,求助快被PHPFPM搞疯了

CENTOS6.5下,删除了之前用YUM安装过的PHP,然后下载php7源码编译安装。安装成功。但是PHP-FPM无法启动测试配置文件,成

CENTOS 6.5下,删除了之前用YUM安装过的PHP,然后下载php7源码编译安装。安装成功。

但是PHP-FPM无法启动

测试配置文件,成功。

[root@aaa php-fpm.d]# /usr/local/php7/sbin/php-fpm -t

[03-Feb-2017 04:24:54] NOTICE: configuration file /usr/local/php7/etc/php-fpm.conf test is successful

开启服务,提示一堆帮助。。怎么开启啊?

[root@aaa php-fpm.d]# /usr/local/php7/sbin/php-fpm start

Usage: php-fpm [-n] [-e] [-h] [-i] [-m] [-v] [-t] [-p ] [-g ] [-c ] [-d foo[=bar]] [-y ] [-D] [-F [-O]]

-c | Look for php.ini file in this directory

-n No php.ini file will be used

-d foo[=bar] Define INI entry foo with value ‘bar’

-e Generate extended information for debugger/profiler

-h This help

-i PHP information

-m Show compiled in modules

-v Version number

-p, –prefix…………………………………………省略

查看进程

[root@aaa php-fpm.d]# ps -ef | grep PHP-fpm

root 1776 1649 0 04:29 pts/0 00:00:00 grep PHP-fpm

netstat -lntp 查看端口,里面没有PHP-FPM(肯定了,没有启动)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 1397/mysqld

tcp 0 0 127.0.0.1:5901 0.0.0.0:* LISTEN 1464/Xvnc

tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1424/nginx

tcp 0 0 0.0.0.0:8082 0.0.0.0:* LISTEN 1424/nginx

tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 1260/vsftpd

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1239/sshd

看命令帮助中有个参数-R

-R, –allow-to-run-as-root

Allow pool to run as root (disabled by default)

然后我运行了一下:/etc/init.d/php-fpm -R

接着执行了:/etc/init.d/php-fpm

[03-Feb-2017 04:39:16] ERROR: unable to bind listening socket for address ‘127.0.0.1:9000’: Address already in use (98)

[03-Feb-2017 04:39:16] ERROR: FPM initialization failed

虽然初始化失败了,但是显示端口被占用,再次查看网络端口情况:

netstat -lntp

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 1787/php-fpm

tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 1397/mysqld

tcp 0 0 127.0.0.1:5901 0.0.0.0:* LISTEN 1464/Xvnc

tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1424/nginx

tcp 0 0 0.0.0.0:8082 0.0.0.0:* LISTEN 1424/nginx

tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 1260/vsftpd

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1239/sshd

显示PID 1787/php-fpm在监听这个端口 127.0.0.1:9000。

……我艹,当我想再去截一下PHP无法解析NGINX 502错误的时候刷新了一下页面,现在正常了,泪奔!

~~>___

df39d44faf253e53118068c4f6fddb1b.png

-R

选项的作用是允许这次用root权限运行,不是给root执行权限。

因为用root权限跑服务都有安全隐患(一旦被攻陷,攻击者就有了最高权限),所以php-fpm会做个检查,默认不能用root,要求自己确定要用。

所以第一次

php-fpm -R的时候

,php-fpm已经在运行了,没必要再来一次

php-fpm

(其实也不行,因为第一次成功的话已经占用端口了)。

端口占用了,就把占用的进程杀了。

还有

/etc/init.d/php-fpm

是脚本还是php-fpm本体呢?看题主的答案好像混淆了两者。

php-fpm不支持start选项,

/usr/local/php7/sbin/php-fpm start

肯定是一堆错误信息(其实是帮助信息),支持start的是

/etc/init.d/

下的那些脚本。

解决办法

给root运行权限

/etc/init.d/php-fpm -R

然后在执行一下就可以了

/etc/init.d/php-fpm

不过话说这样有安全隐患吗? 还有就是开机自动开启服务该怎么做?(百度搜索过,照做都会有问题,比如这样https://my.oschina.net/yearnf… /etc/init.d/php-fpm 我的目录里已经有这个文件了,如果替换成上文中的脚本执行/etc/init.d/php-fpm start不成功,脚本里的路径都已经改过。)



推荐阅读
  • 有没有一种方法可以在不继承UIAlertController的子类或不涉及UIAlertActions的情况下 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  • Linux环境变量函数getenv、putenv、setenv和unsetenv详解
    本文详细解释了Linux中的环境变量函数getenv、putenv、setenv和unsetenv的用法和功能。通过使用这些函数,可以获取、设置和删除环境变量的值。同时给出了相应的函数原型、参数说明和返回值。通过示例代码演示了如何使用getenv函数获取环境变量的值,并打印出来。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • CentOS 6.5安装VMware Tools及共享文件夹显示问题解决方法
    本文介绍了在CentOS 6.5上安装VMware Tools及解决共享文件夹显示问题的方法。包括清空CD/DVD使用的ISO镜像文件、创建挂载目录、改变光驱设备的读写权限等步骤。最后给出了拷贝解压VMware Tools的操作。 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
author-avatar
linxiuying261
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有