• 11
  • 九月

Linux下,PHP5 的编译安装傻瓜步骤

Kenami 发布于 10:29:25  |  阅读 1,138 次 |  评论  

很多人在安装php的时候都会遇到很多的问题,但是我想只要按照步骤一步一步的进行,仔细的查看输出结果,应该可以顺利的安装好PHP,也能体会到linux命令行带来的乐趣,下面我们一起开始安装PHP5吧,后面我还会写一些linux简单的配置和apache的相关文章。

cd /usr/local/src

wget http://jp.php.net/get/php-5.2.5.tar.gz/from/this/mirror

rpm -qa | grep php
rpm -e php-ldap-4.3.9-3.22.9 php-pear-4.3.9-3.22.9 php-4.3.9-3.22.9

#libcurl
rpm -qa | grep curl
rpm -e curl curl-devel

rpm -e curl-7.12.1-11.el4

cd /usr/local/src/
wget http://curl.haxx.se/download/curl-7.16.4.tar.gz
tar xvzf curl-7.16.4.tar.gz
cd curl-7.16.4
./configure
make
make test
make install

yum install zlib-devel

#libpng
#   ——————————————————————-
cd /usr/local/src/
wget http://nchc.dl.sourceforge.net/sourceforge/libpng/libpng-1.2.19.tar.gz
tar xvzf libpng-1.2.19.tar.gz
cd libpng-1.2.19
./configure
cp scripts/makefile.linux ./makefile
make
make install
#   ——————————————————————-

#libjpeg
#   ——————————————————————-
cd /usr/local/src/
wget http://www.ijg.org/files/jpegsrc.v6b.tar.gz
tar xvzf jpegsrc.v6b.tar.gz
cd jpeg-6b/
./configure –enable-shared
mkdir /usr/local/man/man1/
make
make install
#   ——————————————————————-

#libgd
#   ——————————————————————-
cd /usr/local/src/
wget http://www.boutell.com/gd/http/gd-2.0.33.tar.gz
tar xvzf gd-2.0.33.tar.gz
cd gd-2.0.33
./configure
make
make install
#   ——————————————————————-

##

# FreeType
——————————————————————-
#
#   ・fontconfig-devel-2.2.3-7.i386.rpm
#   ・freetype-devel-2.1.9-4.el4.i386.rpm
#   xorg-x11-devel-6.8.2-1.EL.13.37.i386.rpm
yum install xorg-x11-devel
yum install xorg-x11

ln -s /usr/X11R6/lib/libX11.a /usr/lib

cd /usr/local/src/
wget http://jaist.dl.sourceforge.net/sourceforge/freetype/freetype-1.3.1.tar.gz
tar xvzf freetype-1.3.1.tar.gz
cd freetype-1.3.1/test/

vi ftdump-newer-GCC.patch
——————————————————————-
— ftdump.c.original    2004-12-21 06:26:50.000000000 -0500
+++ ftdump.c                    2004-12-21 06:57:27.000000000 -0500
@@ -140,8 +140,14 @@
old_memory += *var;
}

-#define FOOTPRINT( field )  Save_Memory( &memory_footprint.##field )
-
+#define FT_initial_overhead  memory_footprint.initial_overhead
+#define FT_face_object       memory_footprint.face_object
+#define FT_glyph_object      memory_footprint.glyph_object
+#define FT_first_instance    memory_footprint.first_instance
+#define FT_second_instance   memory_footprint.second_instance
+
+#define FOOTPRINT( field )  Save_Memory( &FT_ ## field )
+

static void
Print_Mem( long  val, char*  string )
@@ -152,10 +158,8 @@
string );
}

-#define PRINT_MEM( field, string ) \
-          Print_Mem( memory_footprint.##field, string )
-
-
+ #define PRINT_MEM( field, string )  Print_Mem( FT_ ## field, string )
+
/* Print the memory footprint */

void
——————————————————————-
patch < ftdump-newer-GCC.patch
#   http://www.linuxquestions.org/questions/showthread.php?t=174031

cd /usr/local/src/freetype-1.3.1
./configure
make
make install

cd /usr/local/src/
wget http://jaist.dl.sourceforge.net/sourceforge/freetype/freetype-2.3.5.tar.gz
tar xvzf freetype-2.3.5.tar.gz
cd freetype-2.3.5
./configure
make
make install
——————————————————————-

## libxml2
cd /usr/local/src/

wget http://ftp.gnome.org/pub/GNOME/sources/libxml2/2.6/libxml2-2.6.30.tar.gz

tar zxvf libxml2-2.6.30.tar.gz

cd libxml2-2.6.30
./configure
date
#Tue Nov 27 10:25:03 JST 2007

make && date
#…
#…
#Tue Nov 27 10:25:03 JST 2007

make install
ln -s /usr/local/include/libxml2/libxml /usr/local/include/libxml
yum install mysql-devel

### php
cd /usr/local/src/

tar zxvf php-5.2.5.tar.gz
cd php-5.2.5

# check path
ls -l /usr/local/apache2/bin/apxs
sleep 5
$ rm configure
$ ./buildconf –force

./configure –with-apxs2=/usr/local/apache2/bin/apxs \
–includedir=/usr/local/include \
–enable-force-cgi-redirect \
–enable-mbstring \
–enable-mbregex \
–enable-shmop \
–enable-exif \
–with-gd=/usr/local/ \
–with-jpeg-dir=/usr/local/lib/ \
–with-png-dir=/usr/local/lib/ \
–with-zlib-dir=/usr/ \
–with-ttf \
–with-freetype-dir=/usr/local/lib \
–enable-gd-native-ttf \
–enable-gd-jis-conv \
–with-mysql=/usr/include/mysql/ \
–enable-sockets \
–enable-ftp \
–with-curl=/usr/local/ \
–with-xmlrpc \
–enable-mailparse \
–with-foobar
make
make test
make install

vi httpd.conf
——————————————————————————–
AddType application/x-httpd-php        .php
——————————————————————————–

## php.ini-recommended
vi /usr/local/lib/php.ini
——————————————————————————–
short_open_tag = On

display_errors = On

post_max_size = 64M

upload_max_filesize = 50M

mbstring.language = Japanese
mbstring.internal_encoding = UTF-8

——————————————————————————–

pear channel-update pear.php.net

pear install Net_SMTP
pear install Auth_SASL
pear install Mail

pear install XML_Parser
pear install XML_RPC

pear list
—————————————————-
Package          Version State
Archive_Tar      1.3.2   stable
Auth_SASL        1.0.2   stable
Console_Getopt   1.2.3   stable
Mail             1.1.14  stable
Net_SMTP         1.2.10  stable
Net_Socket       1.0.8   stable
PEAR             1.6.1   stable
Structures_Graph 1.0.2   stable
XML_Parser       1.2.8   stable
XML_RPC          1.5.1   stable
—————————————————-

评论