以CentOS-6.4-minimal为基础进行编译(在看这篇文章时建议先把Apache服务器,Nginx编译):

编译时可以参考的文档:

http://www.php.net/manual/zh/configure.about.php

./configure --help

检查gcc编译器:

gcc-v#检查gcc编译器yum -y installgcc automake autoconf libtool make#安装GCCyum installgcc gcc-c++ #安装C++编译器


1:php下载

mkdir /usrlocal/web #创建一个文件存放源码cd /usr/local/webwget http://cn2.php.net/distributions/php-5.5.7.tar.bz2 #下载phptar xjfv php-5.5.7.tar.bz2 #解压cd php-5.5.7./configure #预编译

缺少 libxml2动态库:

#各个版本的下载地址 http://xmlsoft.org/sources/wget http://xmlsoft.org/sources/libxml2-2.9.1.tar.gztar xzfv libxml2-tests-2.9.1.tar.gz./configuremakemake install

继续加入参数编译php:

./configure --prefix=/usr/local/php #安装目录--with-config-file-scan-dir=/usr/local/php/etc #配置目录--enable-fpm #Nginx需要这个模块如果不需要支持Nginx可以不写--with-mcrypt #加密扩展--enable-mbstring--enable-pdo--with-curl--disable-debug--disable-rpath--enable-inline-optimization #内置优化器,网上找了点资料说可以加快速度--with-bz2--with-zlib--enable-sockets--enable-sysvsem #开启与system v 进程间通信--enable-sysvshm #开启与system v的共享内存--enable-sysvmsg #开启system v 消息支 #http://www.laruence.com/2008/04/21/101.html 这是关于system例子 Google回来的,作者是php维护者--enable-pcntl--enable-mbregex--with-mhash--enable-zip--with-pcre-regex--with-mysql--with-mysqli--enable-mysqlnd--enable-calendar--with-zend-vm=goto #zend 虚拟机调度方法这个有三种模式 #call goto switch goto表现更快--enable-bcmath--enable-soap--enable-simplexml--with-apxs2=/usr/local/apache2/bin/apxs #这个必须php 与apache通信模块--with-sqlite3--enable-ftp--enable-exif--with-gd--with-jpeg-dir=/usr/local/libjpeg--with-png-dir=/usr/local/libpng/--enable-json--with-ldap

解决方法:

下载地址文档:http://www.bzip.org/downloads.htmlwget http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz./configuremakemake install

接下来还有很多需要编译的都差不多,不想写那么多了,如果你想全部动态库都编译的就继续,不想编译请执行以下命令:

yum -y install libmcrypt-devel mhash-devel libxslt-devel \libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel \zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel \ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel \krb5 krb5-devel libidn libidn-devel openssl openssl-devel

继续执行php配置命令:


./configure --prefix=/usr/local/php #安装目录--with-config-file-scan-dir=/usr/local/php/etc #配置目录--enable-fpm #Nginx需要这个模块如果不需要支持Nginx可以不写--with-mcrypt #加密扩展--enable-mbstring--enable-pdo--with-curl--disable-debug--disable-rpath--enable-inline-optimization #内置优化器,网上找了点资料说可以加快速度--with-bz2--with-zlib--enable-sockets--enable-sysvsem #开启与system v 进程间通信--enable-sysvshm #开启与system v的共享内存--enable-sysvmsg #开启system v 消息支 #http://www.laruence.com/2008/04/21/101.html 这是关于system例子 Google回来的,作者是php维护者--enable-pcntl--enable-mbregex--with-mhash--enable-zip--with-pcre-regex--with-mysql--with-mysqli--enable-mysqlnd--enable-calendar--with-zend-vm=goto #zend 虚拟机调度方法这个有三种模式 #call goto switch goto表现更快--enable-bcmath--enable-soap--enable-simplexml--with-apxs2=/usr/local/apache2/bin/apxs #这个必须php 与apache通信模块--with-sqlite3--enable-ftp--enable-exif--with-gd--with-jpeg-dir=/usr/local/libjpeg--with-png-dir=/usr/local/libpng/--enable-json--with-ldap



make




#错误undefined reference to `libiconv_open'collect2: ld returned 1 exit status



解决方法:

wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gztar-zxvf libiconv-1.14.tar.gzcdlibiconv-1.14./configuremakemakeinstall

编辑Makefile 101行加入liconv

101 EXTRA_LIBS = -lcrypt -lz -lcrypt -lrt -lmcrypt -lltdl -lldap -llber -lpng -lz -ljpeg -lcurl -lbz2 -lz -lrt -lm -ldl -lnsl -lrt -lxml2 -lz -lm -ldl -lcurl -lxml2 -lz -lm -ldl -lxml2 -lz -lm -ldl -lxml2 -lz -lm -ldl -lcrypt -lxml2 -lz -lm -ldl -lxml2 -lz -lm -ldl -lxml2 -lz -lm -ldl -lcrypt -liconv



make ZEND_EXTRA_LIBS='-liconv' #进行编译

过程可能会有些警告的,可以不理会,这里就不写整合的

www.myfreax.com

QQ群:151327334