编译php-5.3.6的时候需要先打一个内存泄露的补丁,具体的操作如下

tar vzxf suhosin-0.9.32.1.tar.gz

tar vjxf php-5.3.6.tar.bz2

cd php-5.3.6

patch -p1 < ../suhosin-patch-5.3.4-0.9.10.patch

cp -R ../suhosin-0.9.32.1 ext/suhosin

./buildconf --force

编译php之前需要先编译一下mcrypt库,具体的操作如下

tar vzxf libmcrypt-2.5.7.tar.gz

cd libmcrypt-2.5.7

./configure --disable-posix-threads --prefix='/usr/local/libmcrypt-2.5.7'

make && make install

echo '/usr/local/libmcrypt-2.5.7/lib'>>/etc/ld.so.conf.d/user-defined.conf

ldconfig

编译安装mcrypt库之后,就可以进行php-5.3.6的编译了,具体命令如下

cd php-5.3.6

export LDFLAGS='-L/usr/local/libmcrypt-2.5.7/lib'

./configure  --prefix=/usr/local/php-5.3.6 --with-config-file-path=/usr/local/php-5.3.6/etc/ --with-mcrypt='/usr/local/libmcrypt-2.5.7' --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --enable-xml --disable-rpath --with-curl --with-curlwrappers --enable-mbregex --enable-mbstring --with-openssl --enable-sockets --enable-zip --disable-ipv6 --without-sqlite --without-pear --disable-pdo --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-libdir=lib64 --without-iconv --enable-soap --enable-suhosin

make && make install

unset LDFLAGS

mkdir -p /data/logs/

cd /usr/local

ln -s /usr/local/php-5.3.6 php

php编译完成之后,还需要编译项目所需的三个插件,首先是memcached-1.0.2插件,具体命令如下

tar vzxf memcached-1.0.2.tgz

cd memcached-1.0.2

/usr/local/php-5.3.6/bin/phpize

./configure --enable-memcached --with-php-config=/usr/local/php-5.3.6/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached-1.0.2/

make && make install

接下来需要编译的是php的mongodb-mongo-php-driver插件,具体命令如下

tar vzxf mongodb-mongo-php-driver-1.1.0.tar.gz

cd mongodb-mongo-php-driver-b177907/

/usr/local/php-5.3.6/bin/phpize

./configure --enable-mongo --with-php-config=/usr/local/php-5.3.6/bin/php-config

make && make install

最后还需要编译一下php的eaccelerator插件,具体命令如下

tar vjxf eaccelerator-0.9.6.1.tar.bz2

cd eaccelerator-0.9.6.1

/usr/local/php-5.3.6/bin/phpize

./configure --enable-eaccelerator --with-php-config=/usr/local/php-5.3.6/bin/php-config

make && make install

复制php-fpm.conf与php.ini到/usr/local/php-5.3.6/etc目录,并复制fpm到/etc/init.d目录下,并添加可执行权限。

PHP编译的更多相关文章

  1. TODO:macOS编译PHP7.1

    TODO:macOS编译PHP7.1 本文主要介绍在macOS上编译PHP7.1,有兴趣的朋友可以去尝试一下. 1.下载PHP7.1源码,建议到PHP官网下载纯净到源码包php-7.1.0.tar.g ...

  2. Centos6.5下编译安装mysql 5.6

    一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server rpm -qa | grep mysql 有的话通过下面的命令来卸载掉 rpm -e mysql //普通删除模式 rpm -e ...

  3. CENTOS 6.5 平台离线编译安装 PHP5.6.6

    一.下载php源码包 http://cn2.php.net/get/php-5.6.6.tar.gz/from/this/mirror 二.编译 编译之前可能会缺少一些必要的依赖包,加载一个本地yum ...

  4. CENTOS 6.5 平台离线编译安装 Mysql5.6.22

    一.下载源码包 http://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.22.tar.gz 二.准备工作 卸载之前本机自带的MYSQL 安装 cmake,编 ...

  5. Android注解使用之注解编译android-apt如何切换到annotationProcessor

    前言: 自从EventBus 3.x发布之后其通过注解预编译的方式解决了之前通过反射机制所引起的性能效率问题,其中注解预编译所采用的的就是android-apt的方式,不过最近Apt工具的作者宣布了不 ...

  6. Hawk 6. 编译和扩展开发

    Hawk是开源项目,因此任何人都可以为其贡献代码.作者也非常欢迎使用者能够扩展出更有用的插件. 编译 编译需要Visual Stuido,版本建议使用2015, 2010及以上没有经过测试,但应该可以 ...

  7. android studio 使用 jni 编译 opencv 完整实例 之 图像边缘检测!从此在andrid中自由使用 图像匹配、识别、检测

    目录: 1,过程感慨: 2,运行环境: 3,准备工作: 4,编译 .so 5,遇到的关键问题及其解决方法 6,实现效果截图. (原创:转载声明出处:http://www.cnblogs.com/lin ...

  8. 在Windows上编译和调试CoreCLR

    生成CoreCLR - Windows篇 本文的唯一目的就是让你运行Hello World 运行环境 Window 7+ Visual studio 2015 确保C++ 工具已经被安装,默认是不安装 ...

  9. 【踩坑速记】二次依赖?android studio编译运行各种踩坑解决方案,杜绝弯路,总有你想要的~

    这篇博客,只是把自己在开发中经常遇到的打包编译问题以及解决方案给大家稍微分享一下,不求吸睛,但求有用. 1.大家都知道我们常常会遇到dex超出方法数的问题,所以很多人都会采用android.suppo ...

  10. Windows下Visual studio 2013 编译 Audacity

    编译的Audacity版本为2.1.2,由于实在windows下编译,其源代码可以从Github上取得 git clone https://github.com/audacity/audacity. ...

随机推荐

  1. Angularjs快速入门(四)-css类和样式

    例子: .error{background-color:red;} .warning{background-color:yellow;} <div ng-controller='HeaderCo ...

  2. 解析http协议的url

    package util; import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamRea ...

  3. Printk与sched_clock_init的一点分析

    在分析Linu内核启动的过程中,发现一段"不平常"的日志,感觉产生这段日志的代码肯定是"不可思议"的.因此就大致分析了一下: 日志如下: [ 0.000000] ...

  4. [Git]01 如何安装和配置

     简单地说,Git 究竟是怎样的一个系统呢? 请注意,接下来的内容非常重要,若是理解了 Git 的思想和基本工作原理,用起来就会知其所以然,游刃有余.在开始学习 Git 的时候,请不要尝试把各种概 ...

  5. 线段树区间更新操作及Lazy思想(详解)

    此题题意很好懂:  给你N个数,Q个操作,操作有两种,‘Q a b ’是询问a~b这段数的和,‘C a b c’是把a~b这段数都加上c. 需要用到线段树的,update:成段增减,query:区间求 ...

  6. css写出三角形(兼容IE)

    css写出三角形   利用css写三角形,兼容IE7 .arrow-up { width:0px; height:0px; border-left:10px solid transparent; bo ...

  7. nodejs版本管理工具NVM(Node Version Mene)

    最近打算用心学习nodejs,所以在学习中了解到NVM-nodejs的版本管理工具,下面我就记录下我学习并且安装的详细过程,请大神们放过~~第一步.你要先把你本机上安装的nodejs以及npm相关的东 ...

  8. 四、I/O

    九.什么是I/O: 9.1.在Windows程序中,基础的运行单位为线程,为每一个线程分配一个处理器,可以让系统执行多个操作, 9.2.当线程进行一个I/O操作时,会被挂起,从而影响性能,为了解决这类 ...

  9. 关于开发微信小程序后端linux使用xampp配置https

    关于开发微信小程序后端linux使用xampp配置https 背景 由于最近开发微信小程序,前后端交互需要使用https协议,故需要配置https服务 服务器环境 服务器系统 ubuntu 环境 xa ...

  10. ——————————JavaScript中,对String字符串的一些操作——————————

    ————————————————————————————————————————————————————————————————————————————————————————————— <ht ...