此处的php安装基于centos5.4
安装之前可以先检测下如下rmp包是否安装(rpm –qa | grep libxml2),如果没有,通过yum install安装
libxml2 libxml2-devel curl curl-devel libtool-ltdl libtool-ltdl-devel
#tar zxvf php-5.2.9.tar.gz
#cd php-5.2.9 进入php-5.2.9目录
#yum install libc-client libc-client-devel krb5-devel 支持imap
#yum install gd gd-devel zlib zlib-devel libpng libpng-devel libjpeg libjpeg-devel freetype freetype-devel 支持gd
#yum install libmcrypt libmcrypt-devel 支持mcrypt
#./configure –prefix=/usr/local/php –with-mysql=/usr/local/mysql –with-apxs2=/usr/local/apache2/bin/apxs –with-config-file-path=/usr/local/php –with-imap-ssl –with-kerberos –with-imap –with-gd –with-zlib-dir –with-png-dir –with-jpeg-dir –with-freetype-dir –enable-gd-native-ttf –with-mcrypt –enable-exif –enable-mbstring –enable-magic-quotes –enable-sockets –with-curl
(–prefix和–with 之间用空格相连)
–prefix 设置php的安装路径
–with-apxs2 设置php为apache服务器提供的模块安装位置
–with-mysql 设置mysql服务器的安装路径
–with-config-file-path 设置php的配置文件所在的位置
后面有详细介绍php的配置参数
#make;make install 编译并且安装
#cp php.ini-***/usr/local/php/php.ini 将php的配置文件复制到php安装目录里里
#vi /usr/local/apache2/conf/httpd.conf
编辑apache的配置文件
//确定下面的一行已存在
LoadModule php5_module modules/libphp5.so (加载php模块)
如果apache配置如果没有 手动添加
源码包中通过find命令查找文件libphp5.so并复制到apache对应的目录里(此问题可能是因为没有安装libtool-ltdl libtool-ltdl-devel, 待测试)
//加入下面的一行
AddType application/x-httpd-php .php (让Apache识别php文件,.php前有一个空格)
#vi /usr/local/apache2/htdocs/index.php
这个/usr/local/apache2/htdocs/就是网站的虚拟目录,也可以自己指定
按i,进入编译状态
<?php phpinfo(); ?>
按ESC 按:按wq
#/usr/local/apache2/bin/apachectl stop 关闭apache服务
#/usr/local/apache2/bin/apachectl start 开启apache服务
或者apachectl restart / service httpd restart重启
注意点:
在php编译之前,要进行configure设置 ,如果要静态加载新的扩展,需要重新编译安装 ,如果要动态加载新的扩展,需要使用php安装目录/usr/local/php/bin/phpize 生成config文件,通过extension的方式加载(安装扩展的源码包必须和php的安装包版本一致)。
测试
在浏览器中输入 http://localhost/index.php