最近因为做PHP项目,需要在服务器上支持PHP7和GD,在配置过程中碰到很多错误,也走了很多弯路,甚至于把服务器重置了一遍,折腾了两天终于完成了,在这里记录一下,希望需要做同样的配置的同学可以借鉴下,少走些弯路。
相关软件与下载
zlib-1.2.3.tar.gz、jpegsrc.v6b.tar.gz、freetype-2.4.0.tar.gz、libpng-1.2.8-config.tar.gz、
libtool-2.2.6b.tar.gz、libgd-2.1.0.tar.gz、libXpm-devel.x86_64、libxml2-2.6.32
软件安装
安装zlib
ar -zxvf zlib-1.2.3.tar.gz
cd zlib-1.2.3
CFLAGS="-O3 -fPIC" ./configure
make && make install
这里注意:zlib这个软件必须安装在默认目录下,因为在后面gd安装的时候需要在默认目录下找这个依赖,我就是因为把这个依赖安装在其他地方导致安装不下去了。
当然了,这个也不一定,在后面你也可以做一些配置也可以成功,前提是你懂得C相关的知识,改下源文件,我觉得也可以,自己尝试了一把,没有成功。
安装freetype
tar -zxvf freetype-2.4.0.tar.gz
cd freetype-2.4.0
./configure -prefix=/usr/local/freetype
make
make install
这里会出错,因为不能自动创建internal这个文件夹,你可以自己创建,然后重新执行make install
mkdir /usr/local/freetype/include/freetype2/freetype/internal
安装libpng
tar -zxvf libpng-1.2.8-config.tar.gz
cd cd libpng-1.2.8-config
./configure
make
make install
安装libtool
tar -zxvf libtool-2.2.6b.tar.gz
cd libtool-2.2.6b
CFLAGS="-O3 -fPIC" ./configure
make
make install
安装jpeg
tar -zxvf jpegsrc.v6b.tar.gz
.cd jpeg-6b/
mkdir /usr/local/jpeg6/
mkdir /usr/local/jpeg6/lib
mkdir /usr/local/jpeg6/bin
mkdir /usr/local/jpeg6/man
mkdir /usr/local/jpeg6/man/man1
CFLAGS="-O3 -fPIC" ./configure -prefix=/usr/local/jpeg6 --enable-shared --enable-static
make
这一步也会报错,我们需要把上一步安装的libtool的config中的config.guess和config.sub复制到jpeg-6b的目录下,然后重新编译后就ok了
cp /usr/local/share/libtool/config/config.guess .
cp /usr/local/share/libtool/config/config.sub .
make install
安装libgd
tar -zxvf libgd-2.1.0.tar.gz
cd libgd-2.1.0
./configure -prefix=/usr/local/gd-2.1.0 -with-jpeg=/usr/local/jpeg6 -with-png=/usr/local/ -with-zlib=/usr/local/ -with-freetype=/usr/local/freetype
make
make install
安装libxml
tar -zxvf libxml2-2.6.32.tar.gz
cd libxml2-2.6.32
./configure --prefix=/usr/local/libxml2
make
make install
安装xpm
yum install libXpm-devel.x86_64
安装mysql
可以到我的另一篇博客去看看http://blog.youkuaiyun.com/tianyiii/article/details/39533713
安装php7
./configure --prefix=/usr/local/php7 --with-mysqli=/usr/local/mysql-5.6.22/bin/mysql_config --with-apxs2=/usr/local/apache2/bin/apxs --with-libxml-dir=/usr/local/libxml2/ --enable-sockets --enable-xml --with-pdo-mysql=/usr/local/mysql-5.6.22/ --with-jpeg-dir=/usr/local/jpeg6/ --with-png-dir=/usr/local/ --with-gd=/usr/local/gd-2.1.0/ --with-freetype-dir=/usr/local/freetype/ --with-xpm-dir=/usr/include/X11/xpm.h