编译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. js 时间时间戳互换

    <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="C ...

  2. 【代码学习】PHP 正则表达式

    一.正则表达式介绍 正则表达式是用于描述字符排列和匹配模式的一种规则,主要用于字符串的匹配.查找.替换.分割等操作 ------------------------------------------ ...

  3. 老司机带你开飞机 一: mssql on linux 安装指导

    通常在本机开发环境中需要搭建所有的服务,还要修改本地的hosts,实在是不胜其烦.如今有了docker,完全不用污染本地环境,且看老司机带你搭建一个asp.net core的开发环境集群.愿你走出虚拟 ...

  4. MD5加密。

    MD5 是把文件用open打开,然后对内容hash后的值,所以和文件名无关,和位置无关,和修改时间无关,只与文件内容有关.

  5. MySQL性能优化之参数配置

    1.目的: 通过根据服务器目前状况,修改Mysql的系统参数,达到合理利用服务器现有资源,最大合理的提高MySQL性能. 2.服务器参数: 32G内存.4个CPU,每个CPU 8核. 3.MySQL目 ...

  6. TP5.0 PHPExcel 数据表格导出(原)

    今天看的是PHPExcel这个扩展库,Comporse 下载不下来,最后只能自己去github里面手动下载,但有一个问题就是下载下来的PHPExcel没有命名空间,所以框架里面的use根本引入不进去, ...

  7. Oracle清除数据库中长时间占用资源的非活动的会话

    1.启动资源计划 alter system set resource_limit=true scope=spfile; 2.设置非活动回话十五分钟断开,释放资源 alter profile defau ...

  8. hadoop集群中客户端修改、删除文件失败

    这是因为hadoop集群在启动时自动进入安全模式 查看安全模式状态:hadoop fs –safemode get 进入安全模式状态:hadoop fs –safemode enter 退出安全模式状 ...

  9. lightOJ 1258 Making Huge Palindromes(KMP)

    题目链接:http://lightoj.com/volume_showproblem.php?problem=1258 就是求逆串和原串的匹配长度 答案就是原串长度的2倍减去匹配长度即可 第一次我将原 ...

  10. 电商的噩梦?实体商家的福音——VR全景智慧城市

    我们不知道未来网络购物的样子,但对当前电商平台的问题是清楚的.从消费者角度来看,网购的顾虑主要在于商品的质量难以保证.物流效率不够高,以及网络购物的"眼见不为实". 正因为可以很好 ...