linux下php5源碼編譯安裝實踐

php5源碼編譯安裝,以及一些組件的安裝:

[size=medium][b]a.安裝 jpeg7[/b][/size]
# tar -zvxf jpegsrc.v7b.tar.gz
# cd jpeg-7b
# ./configure --prefix=/usr/local/jpeg7/ --enable-shared --enable-static
# make; make install
[b]
[size=medium]b.安裝libpng[/size][/b]
# tar -zvxf libpng-1.2.8-config.tar.gz
# cd libpng-1.2.8
# cp scripts/makefile.std makefile
# make; make install

[b][size=medium]c.安裝 freetype[/size][/b]
http://sourceforge.net/projects/freetype/files/
# tar -zvxf freetype-2.1.10.tar.gz
# cd freetype-2.1.10
# mkdir -p /usr/local/freetype
# ./configure --prefix=/usr/local/freetype
# make;make install

[size=medium][b]d.:安裝zlib[/b][/size]
#tar -zxvf zlib-1.2.3.tar.gz
#cd zlib.1.2.3
# ./configure --prefix=/usr/local/zlib
# make;make install

[b][size=medium]e.安裝GD庫[/size][/b]
http://download.chinaunix.net/download.php?id=6665&ResourceID=3479
# tar -zvxf gd-2.0.33.tar.gz
# mkdir -p /usr/local/gd2
# cd gd-2.0.33
# ./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg7/
--with-png=/usr/local/lib/
--with-zlib=/usr/local/zlib/
--with-freetype=/usr/local/freetype/
# make; make install
編譯過程中如果出現relocation R_X86_64_32 can not be used when making a shared object; recompile with -fPIC,請按照提示找到 CFLAGS 後邊加上 -fPIC

[b][size=medium]f.libmcrypt模塊安裝[/size][/b]
wget http://downloads.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz?r=http%3A%2F
tar zxvf libmcrypt-2.5.8.tar.gz
# cd libmcrypt-2.5.8
# ./configure && make && make install
# cd libltdl
# ./configure --enable-ltdl-install && make && make install


[b][size=medium]g.安裝mhash[/size][/b]
#tar -zxvf mhash-0.9.9.9.tar.gz
#cd mhash-0.9.9.9
#./configure
#make
#make install

[b][size=medium]h.安裝mcrypt[/size][/b]
#tar -zxvf mcrypt-2.6.8.tar.gz
#cd mcrypt-2.6.8
#LD_LIBRARY_PATH=/usr/local ./configure
#make
#make install

[b][size=medium]f.安裝php[/size][/b]
#LIBS='-lresolv' ./configure -prefix=/usr/local/php --with-apxs2=/usr/sbin/apxs --with-mysql=/usr/local/mysql --with-pdo-mysql=/usr/local/mysql --without-pear -with-gd=/usr/local/gd2/ --with-jpeg-dir=/usr/local/jpeg7/ --with-zlib-dir=/usr/local/zlib/ --with-png-dir=/usr/local/lib/ --with-freetype-dir=/usr/local/freetype/ --enable-mbstring --with-mcrypt --with-mhash

#make && make install

最後拷貝php源碼目錄的php.ini-* 到 /etc/php.ini,重啓apache

[b][size=medium]用源碼獨立編譯php的extension庫[/size][/b]
比如增加mbstring,切換到php源碼的ext文件下
cd mbtring
/usr/local/php5/bin/phpize //生成configure編譯文件
編譯mbstring.so庫文件
./configure --with-php-config=/usr/local/php5/bin/php-config --enable-mbstring
make && make install
修改php.ini文件,指定
extension_dir=/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626/
extension = mbstring.so

重新啓動apache

PHP編譯支持mysqli
前提是必須安裝mysql

直接上命令

先進入源碼包我的源碼包是在

/usr/local/php-5.2.1/ext/mysqli

這樣進入 cd /usr/local/php-5.2.1/ext/mysqli

然後執行

/usr/local/php/bin/phpize

這條命令是生成configure

接下來再執行:

./configure --prefix=/usr/local/php/ext/mysqli --with-php-config=/usr/local/php/bin/php-config --with-mysqli=/usr/local/mysql/bin/mysql_config
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章