分类: LINUX
2008-05-13 17:14:47
这次在编译php5的时候,真的体验到linux的复杂了,吃尽了苦头。在这里就总结一下。
1:安装zlib,假如你编译的时候,指定路径,那么在安装gd的时候,会出现找不到zlib的错误,其实缺省安装,是把软件安装到/usr/local/lib 和/usr/local/include/ 下的。所以就采用缺省的路径就可以了。
2:freetype,这个如果你编译的时候,采用缺省路径,那么你编译php的时候,就必须指定freetype 的路径,否则是找不到的,我猜测时候因为在缺省的路径下freetype的目录是freetype2,这样就找不到。(我突然想到,假如我做一个软链接,是不是就可以解决这个问题呢)。这就要你知道freetype缺省时候安装在那里。/usr/local/include/freetype2 。你看我编译php的参数的时候就用到。
3:编译jpeg的时候,这个软件比较笨,自己不会创建目录,所有你只能手工创建,指定他的安装路径,这个其实也是和软件的版本有关,以后估计就没有这个问题了。
4:编译libxml2,如果没有这个,编译php的时候,就会出错,不过你编译了这个,还是会出错,你必须
cp xml2-config /usr/bin
才能解决无法找到xml2-config这个错误。
5:关于安装过程是否需要指定路径,指定路径的好处就是你能很清楚这个软件是安装在那里,干什么用途的。这也是为什么用编译的方式,不过lib库这些,比较复杂,要搞明白,你就只能看那些help
6:编译的时候,出现不认识的参数,这个时候,你就只能看help
./configure help | grep freetype
这样你才能得到你有用的信息,这也是根别人学到的。
7:安装jpegsrc.v6b.tar.gz,的时候,有资料上写的时候 make install_lib ,才能应该执行make install-lib才能生成libjpeg.a文件,不过现在这个版本好像时候不需要,/usr/local/jpeg/lib/libjpeg.a,能找到这个文件。
7:软件下载地址
1:安装ZLIB2
######zlib#############
tar zxvf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure
make
make install clean
2:安装PNG
##########libpng###########
tar zxvf libpng-1.2.26.tar.gz
cd libpng-1.2.26
./configure
make
make install clean
3:安装freetype
##########freetype#########
cd freetype-2.3.5
./configure
make
make install
4:安装JPEG6
#########jpeg###############
tar zxvf jpegsrc.v6b.tar.gz
cd jpeg-6b
mkdir -pv /usr/local/jpeg/{,bin,lib,include,man/man1,man1}
./configure --prefix=/usr/local/jpeg --enable-shared -- enable-static
make
make install
5:安装GD
########GD###########
tar zxvf gd-2.0.35.tar.gz
cd gd-2.0.35
./configure --with-png --with-freetype --with-jpeg=/usr/local/jpeg/
make
make install
在configure完后,要注意看看
编译的时候,最后结果那里可以看到
** Configuration summary for gd 2.0.35:
Support for PNG library: yes
Support for JPEG library: yes
Support for Freetype 2.x library: yes
Support for Fontconfig library: no
Support for Xpm library: no
Support for pthreads: yes
可以看到png 、 jpeg 、 freetype都已经安装上了
6:安装LIBXML2
#####libxml2 #####
tar zxvf libxml2-2.6.31.tar.gz
cd libxml2-2.6.31
./configure --prefix=/usr/local/libxml2
make
make install
cp xml2-config /usr/bin
安装PHP5.2.5
#########php##########
tar zxvf php-5.2.5.tar.gz
cd php-5.2.5
./configure --prefix=/usr/local/php5 --with-mysql=/usr/local/mysql5/ --with-apxs2=/usr/local/apache2/bin/apxs --with-jpeg-dir=/usr/local/jpeg/ --with-freetype-dir=/usr/local/include/freetype2/ --with-zlib --with-gd --enable-ftp --enable-sockets
./configure --prefix=/usr/local/php5 --with-mysql=/usr/local/mysql5 --with-apxs2=/usr/local/apache2/bin/apxs --with-jpeg-dir=/usr/local/jpeg --with-freetype-dir=/usr/local/include/freetype2 --with-zlib --with-png-dir=usr/local/libpng12 --with-libxml-dir=/usr/local/libxml2 --with-gd --enable-ftp --enable-sockets
看到这个画面,就表示你成功了,如果出现什么不认识的参数,那么你就要好好看看了,freetype,他自己找不到路径,必须我手工指定。
make
make install
配置php,apache
cp php.ini-dist /usr/local/php5/lib/php.ini
vi /usr/local/apache2/conf/httpd.conf
添加下面两行
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
搜索
LoadModule php5_module modules/libphp5.so
我的缺省就是没有注释的,你看看你的。
安装ZendOptimizer-3.0.0
tar -zxvf ZendOptimizer-3.0.0-linux-glibc23-x86_64.tar.gz
cd ZendOptimizer-3.0.0-linux-glibc23-x86_64
./install