编译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. Hadoop安全机制之令牌

    介绍 Hadoop中的安全机制包括认证和授权.而Hadoop RPC中采用SASL(Simple Authentication and Security Layer,简单认证和安全层)进行安全认证,具 ...

  2. caffe:使用C++来提取任意一张图片的特征(从内存读取数据)

    0x00 关于使用C++接口来提取特征,caffe官方提供了一个extract_features.cpp的例程,但是这个文件的输入是blob数据,即使输入层使用的是ImageData,也需要在depl ...

  3. 蓝桥杯-立方尾不变-java

    /* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: ...

  4. express4.x的使用

    ①.安装 npm install -g  express   ②.创建应用 express [目录] 会在目录下生成 node_modules, 存放所有的项目依赖库.(每个项目管理自己的依赖,与Ma ...

  5. JDBC连接错误(Illegal mix of collations。。。)

    连接java和mysql时出现了这样的报错: java.sql.SQLException: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) ...

  6. php函数的种类与调用方法大揭密

    PHP中的函数看上去很简单,实际上功能非常强大,我这里按函数名称是否固定,可以分为以下三大类: 一.名称固定的函数: 这类函数,也叫:常规函数,直接用关键字function来创建,也是大家最熟悉的类型 ...

  7. python-day2 字典

    ===========字典功能=============> dict.clear() -->清空字典 dict.keys() -->获取所有key dict.values() --& ...

  8. JavaScript ,Python,java,C#,Go系列算法之【插入排序篇】

    常见的内部排序算法有:插入排序.希尔排序.选择排序.冒泡排序.归并排序.快速排序.堆排序.基数排序等.用一张图概括: 插入排序 插入排序(英语:Insertion Sort)是一种简单直观的排序算法. ...

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

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

  10. Java学习笔记——排序算法之简单排序

    男儿何不带吴钩,收取关山五十州.请君暂上凌烟阁,若个书生万户侯? --南园十三首 三种排序法: 1.冒泡法 2.简单选择法 3.直接插入法   上代码: 1.冒泡排序 public class Bub ...