CentOS-6.4-minimal编译Php

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

创新互联公司-专业网站定制、快速模板网站建设、高性价比栖霞网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式栖霞网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖栖霞地区。费用合理售后完善,10余年实体公司更值得信赖。

编译时可以参考的文档:

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

./configure --help

检查gcc编译器:

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

1:php下载

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

CentOS-6.4-minimal编译Php

缺少 libxml2动态库:

#各个版本的下载地址 http://xmlsoft.org/sources/
wget http://xmlsoft.org/sources/libxml2-2.9.1.tar.gz
tar xzfv libxml2-tests-2.9.1.tar.gz
./configure
make
make 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

CentOS-6.4-minimal编译Php

解决方法:

下载地址文档:http://www.bzip.org/downloads.html
wget  http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz
./configure
make
make 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.gz
tar-zxvf libiconv-1.14.tar.gz
cdlibiconv-1.14
./configure
make
makeinstall

编辑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


本文标题:CentOS-6.4-minimal编译Php
网站地址:http://azwzsj.com/article/ghjioi.html