Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1188321
  • 博文数量: 89
  • 博客积分: 10546
  • 博客等级: 上将
  • 技术积分: 1510
  • 用 户 组: 普通用户
  • 注册时间: 2004-10-16 01:24
文章分类

全部博文(89)

文章存档

2012年(7)

2011年(4)

2010年(5)

2009年(52)

2008年(21)

分类:

2008-12-31 12:24:38

默认情况下,Fedora Linux的PHP包是不支持Oracle数据库操作,要想在PHP操作Oracle,只能自己动手,一方面自己动手重新编译PHP源文件。另一方面,可以使用一些第三方的现在的集成方案来替代系统的集成方案。

如果打算手动编译的话,首先要从Oracle网站下载 ,当然你的机器如果已经安装了Oracle数据库就没有必要了。
我选择的10.2.0.4,只需要下载basic,devel 两个rpm包。
安装之后,还要配置一下ldconfig,不然php oci运行时会找不到相应的库文件。
在/etc/ld.so.conf.d/新建文件oracle-instantclient.conf,写入以下内容。

 /usr/lib/oracle/10.2.0.4/client/lib 


然后用超级用户运行ldconfig。

1.通过pecl安装oci8包。
这种方法很方法很简单,只要执行一条命令,它就会自动从 上下载oci8源文件,并且自动编译。
注意,通过pecl安装首先需要安装php-devel包。
切换到超级用户或用sudo取得超级用户权限,执行:

[hantsy@localhost ~]sudo pecl install oci8


下载完毕自动进行编译,配置时会要求指定Oracle位置,输入instantclient,/usr/lib/oracle/10.2.0.4 /client/lib。只要稍等片刻,它会把编译好的文件安装 /usr/lib/php/modules/下面,名为oci8.so。
要启用它,只要在php.ini文件添加一条语句。

  extension=oci8.so


为了更符合Fedora 中的PHP配置策略,你可使用一个单独文件来配置。
在/etc/php.d/中创建oci8.ini文件,添加上面内容。

这种方法的好处是可以获得最新的oci包,但它没有提供pdo接口。

2.重新编译php SRPM。
下载php SRPM包。

[hantsy@localhost ~]yumdownloader --source php

....................................................................

[hantsy@localhost ~]rpm -ivh php-5.2.6-5.src.rpm


注意这里我使用普通用户进行安装,因为我已经建立自己的打包环境
修改php.spec(文件位于~/rpmbuild/SPECS/)。
这里提供一个php.spec的文件的patch(文章结尾处提供了下载),这是根据Oracle官方php SRPM中的spec文件作对比进行修改的。

重新编译php。

[hantsy@localhost SPECS]sudo rpmbuild -ba php.spec


编译完毕之后,安装相应的OCI包即可。
这种方法的好处,可以做到完全与系统包管理兼容,我比较喜欢的方案。

3.安装Zend Core for Oracle,它不需要安装Oracle InstantClient。
从Zend的官方网站 ,你需要注册一个Zend账号。

[hantsy@localhost ~]tar xzvf ZendCoreForOracle-2.5.0-linux-glibc21-i386.tar.gz


进入目录 ZendCoreForOracle-2.5.0-linux-glibc21-i386,执行安装程序。

[hantsy@localhost ZendCoreForOracle-2.5.0-linux-glibc21-i386]$sudo ./install -g


接下来一步步进行安装就行了。
至于安装过程的细节和可选的各种安装方式,请仔细阅读包中自带的两份文档(Installation Guide,User Guide)。

这是一体化的方案,自带了完整的php解决方案,包括apache, PHP, ZendFramework,Oracle Instant Client,还包括可选的PHPMyAdmin,MySQL。Core还包括了图形配置界面,性能监控等,但升级服务是收费的。
 



文件:php.specpatch.tar.gz
大小:2KB
下载:下载
阅读(2435) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~