为了账号安全,请及时绑定邮箱和手机立即绑定

CentOS-6.4-minimal编译Php

标签:
PHP

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

编译时可以参考的文档:

./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  #预编译

https://img1.sycdn.imooc.com//5b0f91ae000152c507770079.jpg

缺少 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


https://img1.sycdn.imooc.com//5b0f91e200012db605860064.jpg

解决方法:

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'  #进行编译

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

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消