好记性不如烂笔头,把自己安装的步骤记录下来
1、下载php-5.2.8以及php-5.2.8-fpm-0.5.10.diff.gz,放到/usr/local/src目录
2、解压php-5.2.8到/usr/local/src/php-5.2.8
3、php-fpm打补丁
cd /usr/local/src
gzip -cd php-5.2.8-fpm-0.5.10.diff.gz | patch -d php-5.2.8 -p1
4、安装一些必要的东西
1) yum -y install curl curl-devel
2) libmcrypt
wget http://ncu.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz(备注,这个版本安装始终报错,我换成2.5.7的就好,地址ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/attic/libmcrypt/libmcrypt-2.5.7.tar.gz)
编译时候报错 :configure: error: C++ compiler cannot create executables(没有安装c++) 解决方案: yum install gcc gcc-c++ gcc-g77
./configure --prefix=/usr/local/libmcrypt
make && make install
3) yum install mysql(只安装客户端,没有安装server端)
编译报错 :Cannot find MySQL header files under yes
解决方案:yum install -y mysql-devel
又报这个错:Cannot find libmysqlclient under /usr 。
通过查找libmysqlclient,发现是在/usr/lib64/mysql/目录内的libmysqlclient.so.16.0.0做的软连接,PHP默认是去的 /usr/lib/搜索,所以没有找到.找到问题了就好解决了.
解决方案1: cp -rp /usr/lib64/mysql/libmysqlclient.so.16.0.0 /usr/lib/libmysqlclient.so
解决方案2 : 编译时加上 --with-mysql=mysqlnd (未亲自验证 - -)
4、编译php
cd php-5.2.8
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/lbi64/mysql --with-iconv-dir=/usr/local/libiconv --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-debug --disable-rpath --enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring --with-mcrypt-dir=/usr/local/libmcrypt --enable-ftp --with-openssl
结果报错,configure:error:xml2-config not found。 解决方案: yum install libxml2-devel
再次编译,还是报错。undefined reference to `_icon
需要安装iconv,官网文档http://www.gnu.org/software/libiconv/ ,下载安装到/usr/local/libiconv
记得每次重新编译的时候make clean下
再次编译,成功
(注意,有时候还是会出错,
那么./configure … 之后,修改下 Makefile,找到其中的
EXTRA_LIBS = -lcrypt -lz -lcrypt -lrt -lmysqlclient -lmcrypt -lldap -llber -lfreetype -lpng -lz -ljpeg -lcurl -lz -lrt -lm -ldl -lnsl -lrt -lxml2 -lz -lm -lssl - lcrypto -ldl -lz -lcurl -ldl -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lidn -lssl -lcrypto -lz -lxml2 -lz -lm -lssl -lcrypto -ldl -lz -lxml2 -lz -lm -lxml2 -lz -lm - lcrypt -lxml2 -lz -lm -lxml2 -lz -lm -lxml2 -lz -lm -lxml2 -lz -lm -lcrypt
在最后面添加 -liconv
)
make && make install 成功
很奇怪的一点就是竟然没有php.ini,我用php --ini没找到任何的php.ini,但是还是能够正常使用php,看来它是使用的默认配置;好吧,我从网上down了一份放到/usr/local/php/etc目录下
然后稍微的修改下php-fpm.conf , 运行/usr/local/php/sbin/php-fpm start.启动了,可以通过nginx代理访问了,下面会讲下php-fpm的配置
5、php-fpm配置
发现一个诡异的问题,我把 pm.max_children 设置为1024,fpm的错误日志就会不停的报 “WARNING: [pool www] child 9730 exited with code 255 after 0.013489 seconds from start”
而我设置为1000(最新消息,1019也没问题。这尼玛坑爹货)的话就不会报错,这个太诡异了,网上google了半天,有很多人有类似的问题但是都没有解决方法
而且如果是1024的话。service php-fpm stop是不起作用的:
kill -QUIT `cat $php_fpm_PID` 这句命令并不起作用,需要用到#killall -9 php-fpm才能杀掉php-fpm
而如果是1019的话就没问题,这这这这、我也无语了
centos php php-fpm install的更多相关文章
-
CentOS 6.6 FTP install
/************************************************************************* * CentOS 6.6 FTP install ...
-
CentOS 6.6 nginx install
/************************************************************************* * CentOS 6.6 nginx instal ...
-
CentOS 6.6 MySQL install
/************************************************************************* * CentOS 6.6 MySQL instal ...
-
Installing Zabbix 3.2 in Centos 6.8 Clean Install Dependencies Errors
ZABBIX Forums > Zabbix Discussions and Feedback > Zabbix Troubleshooting and Problems > Ins ...
-
两台centos,用yum install 安装,一台成功,一台失败
记录一下问题: 两台centos,用yum install 安装软件,一台成功,一台失败 第一步:查看yum源 yum repolist enabled 疑问:centos安装的方法一致,但yum源 ...
-
CentOS ./configure &;&; make &;&; make install详解
码的安装一般由3个步骤组成:配置(configure).编译(make).安装(make install). 在Linux中利用源码包安装软件最重要的就是要仔细阅读安装包当中的README INST ...
-
转载--How to Install VMware Tools on CentOS 6.3
源地址:http://www.ehowstuff.com/how-to-install-vmware-tools-on-centos-6-3/ VMware Tools is a group of u ...
-
How to install 64-bit Google Chrome 28+ on 64-bit RHEL/CentOS 6 or 7
How to install 64-bit Google Chrome 28+ on 64-bit RHEL/CentOS 6 or 7 The problem Google developers s ...
-
How to Install Apache Tomcat 8.5 on CentOS 7.3
How to Install Apache Tomcat 8.5 on CentOS 7.3 From: https://www.howtoforge.com/tutorial/how-to-inst ...
-
centos source install
CentOS Kernel Source Install Mar 12th, 2012 | Comments CentOS kernel source install, first off if yo ...
随机推荐
-
java 环境变量 设置 问题
问题按照网上教程配置好了 tomcat可以用了.但是发现java不能用. 网上教程(类似教程太多了 ,就不 具体说了 http://jingyan.baidu.com/article/f96699b ...
-
Android外部SD卡的读取
package com.kevin.writeorreadfile1_1; import android.app.Activity; import android.bluetooth.le.ScanF ...
-
Qt数据库操作(qt-win-commercial-src-4.3.1,VC6,Oracle,SQL Server)
qt-win-commercial-src-4.3.1.qt-x11-commercial-src-4.3.1Microsoft Visual C++ 6.0.KDevelop 3.5.0Window ...
-
tomcat报警告 An attempt was made to authenticate the locked user
有好多这样的警报怪怪的,一分钟抛一次,大概抛了10分钟,停止 有 Anattempt was made to authenticate the locked user "root" ...
-
elastic search 学习笔记
Elastic search在数据分析的应用中相当于一个数据库的搜索引擎. 跟MySQL类似,它有自己的查询语言,只不过不是关系型数据库,属于NoSQL. 可以根据索引从分布式服务器文件系统中快速存取 ...
-
配置python+mod_wsgi+apache 时 在浏览器中访问服务器时报错:Invalid HTTP_HOST header: 'XXXXX'. You may need to add u'XXXXX' to ALLOWED_HOSTS,在setting.py中添加‘*”无效的原因
配置python+mod_wsgi+apache 时 在浏览器中访问服务器时报错:Invalid HTTP_HOST header: 'XXXXX'. You may need to add u'XX ...
-
【并发编程】Binder运行机制的流程图
Binder工作在Linux层面,属于一个驱动,只是这个驱动不需要硬件,或者说其操作的硬件是基于一小段内存.从线程的角度来讲,Binder驱动代码运行在内核态,客户端程序调用Binder是通过系统调用 ...
-
python之Flask实现登录功能
网站少不了要和数据库打交道,归根到底都是一些增删改查操作,这里做一个简单的用户登录功能来学习一下Flask如何操作MySQL. 用到的一些知识点:Flask-SQLAlchemy.Flask-Logi ...
-
C#列表页面
前台页面: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Index.aspx ...
-
VMware中,该如何理解桥接网络与NAT 网络模式
原创 2016年11月16日 23:26:34,原文地址如下: http://blog.csdn.net/u010801439/article/details/53193113 首先,我在VMware ...