编译安装php-5.4.44

1. 首先,安装必要的库文件,一面编译被打断:

yum install -y gcc gcc-c++  make zlib zlib-devel pcre pcre-devel  libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel openssl openssl-devel openldap openldap-devel openldap-clients openldap-servers libmcrypt libmcrypt-devel libaio libaio-devel

本来不需要这么多的,为了避免以后出现其他错误,建议全部扩展。需要epel源,具体方法参考:http://www.cnblogs.com/llius/p/5105051.html

2. 下载php:

# cd /usr/local/src
# wget http://au1.php.net/distributions/php-5.4.44.tar.bz2
# tar jxf php-5.4.44.tar.bz2

3. 新建php-fpm普通用户:

# useradd -s /sbin/nologin -M php-fpm     //-s /sbin/nologin:禁止php-fpm用户登录,-M:不在/home下生成php-fpm的家目录

4. 参数初始化:

# cd php-5.4.44
./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/apache2/bin/apxs \ //该选项对php解析非常重要,正确的make && make install 后会在/usr/local/apache2/modules目录生成libphp5.so
--with-config-file-path=/usr/local/php/etc \
--with-mysql=/usr/local/mysql \
--with-libxml-dir \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-iconv-dir \
--with-zlib-dir \
--with-bz2 \
--with-openssl \
--with-mcrypt \
--enable-soap \
--enable-gd-native-ttf \
--enable-mbstring \
--enable-sockets \
--enable-exif \
--disable-ipv6

  保存配置文件后,检验配置是否正确的方法为:

# /usr/local/php/sbin/php-fpm -t   //返回如下结果,说明没有错误
NOTICE: configuration file /usr/local/php/etc/php-fpm.conf test is successful

  因为路径长,可以设立一个别名:

# vim ~/.bashrc   //在alias队列后面添加如下内容:
alias php-fpm='//usr/local/php/sbin/php-fpm'
# source !$ //即: source ~/.bashrc

7. php的启动(需要拷贝启动脚本):

# cp /usr/local/src/php-5.3.27/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm   //拷贝启动脚本
# chmod 755 /etc/init.d/php-fpm //需有x权限
# service php-fpm start //启动
Starting php-fpm  done //返回如下结果,说明开启成功
# chkconfig add php-fpm //这两步是添加开机启动
# chkconfig php-fpm on
# ps aux |grep php-fpm //应该有20余个php-fpm进程,因为在上面的配置文件里面定义了: pm.start_servers = 20

编译安装php-5.4.44的更多相关文章

  1. centos 7.0 编译安装php 7.0.3

    php下载页面 http://cn2.php.net/downloads.php 7.0.3多地区下载页面 http://cn2.php.net/get/php-7.0.3.tar.gz/from/a ...

  2. 编译安装PHP7并安装Redis扩展Swoole扩展

    编译安装PHP7并安装Redis扩展Swoole扩展 在编译php7的机器上已经有编译安装过php5.3以上的版本,从而依赖库都有了 本php7是编译成fpm-php 使用的, 如果是apache那么 ...

  3. centos 7.0 编译安装php 5.6.7

    编译安装php参考资料 MySQL PHP API http://dev.mysql.com/doc/apis-php/en/index.html nginx + php +mysql 最简单安装 官 ...

  4. 编译安装rabbitmq服务端

    有一种方式是:下载rabbitmq-server-generic-unix压缩包,是不用编译的.是已经编译好的源码了 下面介绍编译源码安装   总括: 需要以下步骤:   1.安装erlange.因为 ...

  5. CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.13

    CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.132013-10-24 15:31:12标签:服务器 防火墙 file 配置文件 written 一.配置好I ...

  6. Centos5.8下编译安装PHP5.4和memcached, phalcon, yaf, apc

    安装GIT 需要先安装gcc-c++ (sudo yum install gcc-c++)sudo yum install gettext-devel expat-devel cpio perl op ...

  7. CentOS和Ubuntu下安装配置Greenplum数据库集群(包括安装包和源码编译安装)

    首先说一下,无论是CentOS/RedHat还是Ubuntu都可以按源码方式.安装包方式编译安装. 1.   规划 192.168.4.93(h93)       1个主master  2个主segm ...

  8. mac下Nginx+lua模块编译安装

    Nginx的nb之处就不说了,lua也是一个小巧的脚本语言,由标准C编写而成,几乎可以运行在所有的平台上,也非常强大,其他特性请自行度娘.nginx_lua_module是由淘宝的工程师清无(王晓哲) ...

  9. Linux下指定版本编译安装LAMP

    说明: 操作系统:CentOS 6.5 64位 需求: 编译安装LAMP运行环境 各软件版本如下: MySQL:mysql-5.1.73 Apache:httpd-2.2.31 PHP:php-5.2 ...

随机推荐

  1. 可替换参数在SharePoint和VS中的使用

    什么是可替换参数呢?你可能会在代码里看到像$SharePoint.Project.AssemblyFullName$一样的标记.VS会在编译的时候用完整的签名来替换相应参数.例如,标记 $ShareP ...

  2. 获取lambda表达式类型,获取attributes是注意事项

    1.获取lambda表达式的MemberExpression所属类的类型,要使用:m.Expression.Type   而不要使用 m.Member.DeclaringType: 后者获取的是实际定 ...

  3. POJ 1860 Currency Exchange(Bellman-Ford)

    https://vjudge.net/problem/POJ-1860 题意: 有多种货币,可以交换,有汇率并且需要支付手续费,判断是否能通过不断交换使本金变多. 思路: Bellman-Ford算法 ...

  4. ${user.home} is not working in jenkins windows system

    default setting create m2 in C:\Windows\system32\config\systemprofile change it to <localReposito ...

  5. DDMS

    DDMS 的全称是Dalvik Debug Monitor Service,是 Android 开发环境中的Dalvik虚拟机调试监控服务

  6. Android------个人项目(歆语计算器)

    歆语混合计算器,触手可及,畅享运算,欢迎使用,支持4则混合运算, 可以同时加,减,乘,除,前提是计算格式要输入正确,提供便利的计算功能. apk下载地址: http://shouji.baidu.co ...

  7. UVA-10801 Lift Hopping (最短路)

    题目大意及分析:一道简单的最短路...好几天没写程序了,憋得难受!!! 代码如下: # include<iostream> # include<cstdio> # includ ...

  8. createjs记录坑

    1.使用preloadjs加载资源: manifest = [ {src: "block.png", id: "ground"}, {src: "re ...

  9. 浅析parseInt与parseFloat的区别

    parsetInt与parseFloat的区别还是很大的,简单来说,parseInt解析字符串为整数,parseFloat解析字符串为小数. 首先说parseInt() 1.可以接受两个参数,第一个为 ...

  10. 201621123010《Java程序设计》第7周学习总结

    1. 本周学习总结 1.1思维导图:Java图形界面总结 2.书面作业 1. GUI中的事件处理 1.1 写出事件处理模型中最重要的几个关键词. addActionListener(new Actio ...