PHP之服务器环境搭建
安装软件准备
PHP和各个组件包
libxml2-2.6.30.tar.gz xml c语言版的解析器
libmcrypt-2.5.8.tar.gz 加密算法扩展库
zlib-1.2.3.tar.gz 压缩图像组件
gd-2.0.35.tar.gz 处理图片的API
autoconf-2.61.tar.gz 自动配置源代码的shell脚本
freetype-2.3.5.tar.gz 操作字体的函数库
libpng-1.2.26.tar.gz 解析PNG图象格式的库
jpegsrc.v6b.tar.gz
ZendOptimizer-3.3.0a-linux-glibc21-i386.tar.gz zend加速器
1、安装libxml2-2.6.30.tar.gz
tar zxvf libxml2-2.6.30.tar.gz
cd libxml2-2.6.30
./configure --prefix=/usr/local/libxml2
make
make install
如果安装成功以后,在/usr/local/libxml2/目录下将生成bin、include、lib、man和share五个目录。
2、安装libmcrypt-2.5.8.tar.gz
tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8.tar.gz
./configure --prefix=/usr/local/libmcrypt
make
make install
如果安装成功就会在/usr/local/libmcrypt/目录下生成bin、include、lib、man和share五个目录。
3、安装zlib-1.2.3.tar.gz
tar zxvf zlib-1.2.3.tar.gz
cd zlib-1.2.3.
./configure --prefix=/usr/local/zlib(32位系统方法)
CFLAGS="-O3 -fPIC" ./configure --prefix=/usr/local/zlib(64位系统方法)
make
make install
如果安装成功将会在/usr/local/zlib目录下生成include、lib和share三个目录。
4、安装libpng-1.2.26.tar.gz
tar zxvf libpng-1.2.26.tar.gz
cd libpng-1.2.26
./configure --prefix=/usr/local/libpng --with-z=/usr/local/zlib
make
make install
如果安装成功将会在/usr/local/libpng目录下生成bin、include、lib和share四个目录。
注意:安装libpng提示--configure: error: ZLib not installed
rpm -ivh zlib-devel-1.2.3-29.el6.x86_64.rpm
或者:
1).进入zlib的源文件目录,执行命令 make clean,清除zlib;
2).重新配置 ./configure,后面不要接--prefix参数;
3).编辑 && 安装;
4).进入libpng目录,执行命令 ./configure --prefix=/usr/local/libpng;
5).编译 && 安装;
6).安装成功;
5、安装freetype-2.3.5.tar.gz
tar zxvf freetype-2.3.5.tar.gz
cd freetype-2.3.5
./configure --prefix=/usr/local/freetype
make
make intall
6、安装autoconf-2.61.tar.gz
tar zxvf autoconf-2.61.tar.gz
cd autoconf-2.61
./configure --prefix=/usr/local/autoconf
make
make install
7、安装jpegsrc.v6b.tar.gz
mkdir /usr/local/jpeg6 \ //建立jpeg6的软件安装目录
mkdir /usr/local/jpeg6/bin \ //建立存放命令的目录
mkdir /usr/local/jpeg6/lib \ ///建立jpeg6库文件所在目录
mkdir /usr/local/jpeg6/include \ //建立存放头文件的目录
mkdir /usr/local/jpeg6/man/man1 \ //建立存放手册的目录
tar zxvf jpegsrc.v6b.tar.gz
cd jpeg-6b
./configure --prefix=/usr/local/jpeg6 --enable-shared --enable-static
说明:
./configure --prefix=/usr/local/jpeg6 \ //在安装时将软件安装到/usr/local/jpeg6目录下
--enable-shared \ //建立共享库使用的GNU的libtool
--enable-static //建立静态库使用的GNU的libtool
make
make install
注意一下问题:解决linux64位安装jpeg出错make:./libtool:Commandnotfound
rpm -qa | grep libtool 没有装libtool
请装:
rpm -ivh autoconf-2.63-5.1.el6.noarch.rpm
rpm -ivh automake-1.11.1-4.el6.noarch.rpm
rpm -ivh libtool-2.2.6-15.5.el6.x86_64.rpm
rpm -ivh libtool-ltdl-devel-2.2.6-15.5.el6.x86_64.rpm
1.rpm -qa | grep libtool #wget:http://ftp.gnu.org/gnu/libtool/libtool-2.2.6a.tar.gz
#./configure
#make
#make install
然后进入jpeg-6b的源码目录,然后执行以下步骤,切记!COPY到当前目录注意后面的点(.)
网上好多都把config.sub和config.guess的路径弄错了,应该是在/usr/share/libtool/config/下,而不是在
/usr/share/libtool/下
#cd jpeg
#cp /usr/share/libtool/config/config.sub . //再输入:y
#cp /usr/share/libtool/config/config.guess . //再输入:y
也就是把 libtool里面的两个配置文件拿来覆盖掉jpeg-6b目录下的对应文件
make clean 再重新configure(切记必须重新configure,否则仍提示这个错误)
没有权限的时候先建立对应的文件夹,再次make install就行了
8、安装gd-2.0.35.tar.gz
tar zxvf gd-2.0.35.tar.gz
cd gd-2.0.35
./configure --prefix=/usr/local/gd2/ --with-zlib=/usr/local/zlib/ --with-jpeg=/usr/local/jpeg6/ --with-png=/usr/local/libpng/ --with-freetype=/usr/local/freetype
说明:
./configure --prefix=/usr/local/gd2/ \
--with-zlib=/usr/local/zlib/ \ //指定到zlib库文件的位置
--with-jpeg=/usr/local/jpeg6/ \ //指定到jpeg6库文件的位置
--with-png=/usr/local/libpng/ \ //指定到png库文件的位置
--with-freetype=/usr/local/freetype \ //指定到freetype2字体库文件的位置
make
make install
注意:安装的时候出现错误
make[2]: *** [gd_png.lo] Error 1
make[2]: Leaving directory `/tmp/gd-2.0.26gif'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/gd-2.0.26gif'
make: *** [all] Error 2
[root@RHEL3 gd-2.0.26gif]#
解决方法
cd gd-2.0.35
vi gd_png.c
找到“png.h”改成“/usr/local/libpng/include/png.h”
9、php的安装
tar zxvf php-5.2.9.tar.gz
cd php-5.2.9.tar.gz
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-apxs2=/usr/local/apache/httpd/bin/apxs --with-mysql=/usr/local/mysql/ --with-libxml-dir=/usr/local/libxml2/ --with-png-dir=/usr/local/libpng/ --with-jpeg-dir=/usr/local/jpeg6/ --with-freetype-dir=/usr/local/freetype/ --with-gd2=/usr/local/gd2 --with-zlib-dir=/usr/local/zlib/ --with-mcrypt=/usr/local/libmcrypt/ --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets
说明:
./configure \ //执行当前目录下软件自代的配置命令
> --prefix=/usr/local/php \ //设置PHP5的安装路径
> --with-config-file-path=/usr/local/php/etc \ //指定PHP5配置文件存入的路径
> --with-apxs2=/usr/local/apache/httpd/bin/apxs \ //告诉PHP查找Apache 2的地方
> --with-mysql=/usr/local/mysql/ \ //指定MySQL的安装目录
> --with-libxml-dir=/usr/local/libxml2/ \ //告诉PHP放置libxml2库的地方
> --with-png-dir=/usr/local/libpng/ \ //告诉PHP放置libpng库的地方
> --with-jpeg-dir=/usr/local/jpeg6/ \ //告诉PHP放置jpeg库的地方
> --with-freetype-dir=/usr/local/freetype/ \ //告诉PHP放置freetype库的地方
> --with-gd=/usr/local/gd2/ \ //告诉PHP放置gd库的地方
> --with-zlib-dir=/usr/local/zlib/ \ //告诉PHP放置zlib库的地方
> --with-mcrypt=/usr/local/libmcrypt/ \ //告诉PHP放置libmcrypt库的地方
> --with-mysqli=/usr/local/mysql/bin/mysql_config \ //变量激活新增加的MySQLi功能
> --enable-soap \ //变量激活SOAP和Web services支持
> --enable-mbstring=all \ //使多字节字符串支持
> --enable-sockets //变量激活socket通讯特性
make
make install
注意问题:
/usr/local/lib/libz.a: could not read symbols: Bad value在编译gd库make时出现在编译gd库make步骤时出现/usr/bin/ld: /usr/local/lib/libz.a(compress.o): relocation R_X86_64_32
against `a local symbol' can not be used when making a shared object;
recompile with -fPIC (这里提示重新编译with -fPIC<重新编译zlib>)
/usr/local/lib/libz.a: could not read symbols: Bad value
这种情况一般为64位系统出现,可以重新编译zlib,使用64位元编译方法:
cd zlib-1.2.3
CFLAGS="-O3 -fPIC" ./configure
make
make install
make clean
用源代码编译安装其他一些软件时如果出现类似的错误也可以用这种方法解决;
10、修改phpdphp.ini
如果安装后在/usr/local/php/etc/目录下没有找到php.ini配置文件,可以在php源码包中复制php.ini-dist文件到/usr/local/php/etc/并改名为php.ini
11、安装ZendOptimizer-3.3.0a-linux-glibc21-i386.tar.gz
tar zxvf ZendOptimizer-3.3.0a-linux-glibc21-i386.tar.gz
cd ZendOptimizer-3.3.0a-linux-glibc21-i386
执行安装
./install.sh
注意:执行上面的操作会出现一个图形安装界面,按提示安装即可,部分安装过程如下1到4图所示:
图1 ZendOptimizer安装的欢迎界面
图2 ZendOptimizer选择软件安装位置
图3选择PHP配置文件(php.ini)所在位置
图4选择Apache服务器启动命令所在位置