默认情况下,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 | 下载: | 下载 |
|
阅读(2471) | 评论(0) | 转发(0) |