读书人

centos下为php开oracle扩充

发布时间: 2013-09-22 09:32:58 作者: rapoo

centos下为php开oracle扩展

一.准备工作

本机已有环境为PHP,apache,mysql,需要连oracle数据库,所以需要打开oracle扩展。我们需要做的工作有:安装oracle客户端、pdo_oci扩展、oci8扩展

二.文件下载

(1)oracle客户端rpm包下载地址

http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html

下载如下两个文件(下载文件需注册哦):

oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm
oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.rpm

(2)扩展文件下载,有两种方式,第一种是下载单独的扩展文件,一种是直接下载PHP源码,在ext文件夹中有对应的扩展文件夹,以下我们以第二种方式给大家介绍。

http://pecl.php.net/package/PDO_OCI PDO_OCI-1.0.tgz Oracle Call Interface driver for PDO

http://pecl.php.net/package/oci8 oci8-1.4.5.tgz Extension for Oracle Database,allows you to access Oracle databases

http://www.php.net/downloads.php 下载你本机对应版本的PHP

三.安装及配置oracle客户端

1.安装

#vi /etc/php.ini加入此行

extension=oci8.so

或者直接

echo 'extension=oci8.so' > /etc/php.d/oci8.ini


最后重启apache即可。phpinfo()可看到,php_oci及oci8扩展均已成功开启

六.错误及解决方案

1.checking for oci.h... configure: error: I'm too dumb to figure out where the include dir is in your Instant Client install

解决方法:检查--with-oci8,--with-pdo-oci的路径是否正确

2.configure: error: Oracle Instant Client SDK header files not found

解决方法:是否是sdk文件未安装,即rmp文件名中包含devel的文件,确认是否安装成功。

如果确定已安装,可能是以下问题产生的,可能是你PHP的版本过低,我的PHP版本是PHP Version 5.1.6出现此问题之后,百思不得其解,各种查资料也找不到答案。

两个解决方案:

第一,将你的PHP版本升级,至少升到>=5.2.6

第二,我前面说过,可以自行去下载扩展文件,我下载了oci8 1.4.5之后安装成功。


读书人网 >操作系统

热点推荐