php v5.2主要新增了几个特性:
新的内存管理器据说性能有提高, 但是filter和json两个扩展的提供, 可以更好的提高开发效率.
但是CentOS 5.x和RHEL 5.x上的php版本是5.1.6, 没有filter和json, 所以手工安装
首先要安装php-devel和pcre-devel, 至于gcc那些必不可少的就不用说了
yum install php-devel pcre-devel
php 5.1.6的源码树中没有包含php_pcre.h header文件, 所以需要下载一个php5.2源码.
cd /opt/src
wget http://cn2.php.net/get/php-5.2.6.tar.bz2/from/cn.php.net/mirror
tar jxvf php-5.2.6.tar.bz2
然后去下载filter和json两个扩展的源文件, 网页地址分别是:
filter jsonwget http://pecl.php.net/get/filter-0.11.0.tgz
wget http://pecl.php.net/get/json-1.2.1.tgz
解压缩
tar zxf filter-0.11.0.tgz
tar zxf json-1.2.1.tgz
修改filter的logical_filters.c
vim logical_filters.c
将这行
#include "ext/pcre/php_pcre.h"
修改为
#include "/opt/src/php-5.2.6/ext/pcre/php_pcre.h"
保存并退出文件
分别进入filter和json的src目录
phpize
./configure
make install
执行三条命令即可
echo 'extension=filter.so' > /etc/php.d/filter.ini
echo 'extension=json.so' > /etc/php.d/json.ini
service httpd restart
以上命令在CentOS 5 Final 2.6.18-53.el5 x86_64上验证通过
btw:
json中的头文件不需要修改.
filter的pecl网页提示已经不再维护或者被挂起了, 但是php5.2.6的ext/filter的src还是2005-10-27的版本, 而pecl的filter都到了2006-10-31了。