redhat and centOS下配置php-json扩展

来源:互联网 发布:dijkstra算法描述 编辑:程序博客网 时间:2024/05/29 18:12

PEAR是PHP扩展与应用库(the PHP Extension and Application Repository)的缩写。它是一个PHP扩展及应用的一个代码仓库,简单地说,PEAR之于PHP就像是CPAN(Comprehensive Perl Archive Network)之于Perl。


PECL (PHP Extension Community Library),PHP的扩展库,它提供了一系列已知的扩展库,由C++等其他语言编写而成,多数以Dll(动态链接库)的形式体现,为比PEAR更快,但是与PEAR不同的是,PECL需要在服务器上配置并被注册到主机中。

已经具备的PHP环境:
PHP安装需要的RPM包
#rpm -aq | grep php
php-5.1.6-27.el5_5.3
php-mysql-5.1.6-27.el5_5.3
php-common-5.1.6-27.el5_5.3
php-pdo-5.1.6-27.el5_5.3
php-ldap-5.1.6-27.el5_5.3
php-devel-5.1.6-27.el5_5.3
php-xml-5.1.6-27.el5_5.3
php-cli-5.1.6-27.el5_5.3
RPM包下载地址
http://rpm.pbone.net
http://rpmfind.net
http://download.fedora.redhat.com/pub/epel/5/x86_64/
php源码下载地址
http://jp.php.net/releases/index.php

第一种方式:
下载源码包:
http://pecl.php.net/package/json
#tar -xvf json-1.2.0.tgz
#/usr/local/php/bin/pecl build
#cd json-1.2.0
#./configure
#make
#make install
 
第二种方式:
下载源代码包
http://www.aurore.net/projects/php-json/php-json-ext-1.2.0.tar.bz2
安装:
#tar xvjf php-json-ext-1.2.0.tar.bz2
#cd php-json-ext-1.2.0
#/usr/bin/phpize
#./configure
#make
#make install

创建json.ini的配置文件
/etc/php.d/json.ini
内容如下:
extension=json.so

重启apache
#/etc/init.d/httpd restart

遇到的问题:
我的机器有两个php版本,一是rpm安装5.1.6(/usr/bin/php),一个是源码安装5.3.6(/usr/local/php/bin/php)
我想给5.1.6版本配置json扩展,但是总是安装到5.3.6的环境上?
原因是:执行configure时调用了php-config命令生成了Makefile,而环境变量PATH的值是/usr/local/bin:/usr/bin
所以每次生成Makefile时,都是调用/usr/local/php/bin/php-config
解决方法:把PATH修改为/usr/bin:/usr/local/bin