CentOS 6.4 编译安装 PHP5.6

时间:2021-06-24 10:23:08

编译安装完升级了apache之后,原来的php库文件不能直接使用了,需要重新编译php

php版本:5.6.33(打算安装在/opt/php5.6   源代码位置 ~/src/php-5.6.33)

apache版本:2.4.29(安装目录 /opt/apache2)

mysql版本:5.1(安装在默认目录)

一、下载php源代码并解压

  php5.6 源代码下载地址:http://cn2.php.net/distributions/php-5.6.33.tar.gz

cd ~
mkdir src
cd src
wget -c http://cn2.php.net/distributions/php-5.6.33.tar.gz
tar -zvxf php-5.6.33.tar.gz

  这样就下载并解压完成

二、安装依赖

  然后下载一些必要的依赖文件

yum install make gcc gcc-c++ 

  对于libgd,libjpeg,libpng,zlib,libxml2,curl 我都是通过下载源码编译,并安装在了/opt/lib目录下

    源代码下载地址:

      libgd:https://github.com/libgd/libgd/releases

      libpng:ftp://ftp-osl.osuosl.org/pub/libpng/src/libpng16/libpng-1.6.34.tar.gz

      zlib:http://www.zlib.net/zlib-1.2.11.tar.gz

      libxml2:ftp://xmlsoft.org/libxml2/libxml2-2.9.7.tar.gz

      curl:https://curl.haxx.se/download/curl-7.57.0.tar.gz

    对于 libpng、libjpeg、zlib、libxml、curl可以直接confiure编译并指定--prefix即可,不指定目录默认是/usr/local,libgd需要confiure时需要提供libpng、libjpeg、zlib的目录

  也可以选择直接安装对应的库文件

yum install libcurl zlib-devel libpng-devel libjpeg-dev libxml2-devel -y

  名字可能不一定相同,使用 yum list 可以查看可以安装的包,例如查看libjpeg的包名,yum list |grep libjpeg

三、编译安装

  如果是对相关库编译安装的 需要指定安装目录

./configure --prefix=/opt/php5.6 --with-apxs2=/opt/apache2/bin/apxs --with-mysql --with-gd=/opt/gd --enable-gd-native-ttf --with-ttf --enable-gd-jis-conv --with-freetype-dir=/opt/lib/freetype --with-jpeg-dir=/opt/lib/libjpeg --with-png-dir=/opt/lib/libpng --with-libxml-dir=/opt/lib/libxml2 --with-zlib-dir=/opt/lib/zlib --enable-xml --enable-mbstring --enable-sockets --with-curl=/opt/lib/curl --with-config-file-path=/opt/php5.6/etc --with-pdo-mysql

  如果直接安装的库,则不需要指定目录

./configure --prefix=/opt/php5.6 --with-apxs2=/opt/apache2/bin/apxs --with-mysql --with-gd --enable-gd-native-ttf --with-ttf --enable-gd-jis-conv --with-freetype-dir --with-jpeg-dir --with-png-dir --with-libxml-dir --with-zlib-dir --enable-xml --enable-mbstring --enable-sockets --with-curl --with-config-file-path=/opt/php5.6/etc --with-pdo-mysql

之后执行 

make & make installl