CentOS-6.4-minimal编译Php

发布时间:2020-06-07 21:52:53 作者:huangyanxiong
来源:网络 阅读:569

以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#安装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

推荐阅读:
  1. php编译安装
  2. PHP -- 编译安装

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php linux 编译

上一篇:MySQL ibdata1文件太大的解决办法

下一篇:网关冗余--王贝的学习笔记

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》