编译安装完升级了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