说明:

Web服务器环境:CentOS 5.8 32位+Nginx 1.2.3+Mysql 5.5.27+php 5.3.16

Web服务器IP:192.168.21.149

php源码编译目录:/usr/local/src/php-5.3.16

php安装目录:/usr/local/php5

Nginx站点根目录:/usr/local/nginx/html

Oracle数据库服务器IP:192.168.21.130 开启1521端口,允许远程连接数据库

系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链接

数据库版本:Oracle 11gR1_database_111070  数据库名称:orcl 数据库账号:system 数据库密码:123456

PHP连接Oracle用到OCI包,需要在Web服务器上安装oracle-instantclien,使PHP支持Oracle扩展包OCI

一、下载oracle-instantclien

http://download.oracle.com/otn/linux/instantclient/111070/oracle-instantclient11.1-basic-11.1.0.7.0-1.i386.rpm

http://download.oracle.com/otn/linux/instantclient/111070/oracle-instantclient11.1-devel-11.1.0.7.0-1.i386.rpm

备注:需要注册登录之后才能下载(如果Web服务器是64位,需要下载相应的64位包)

注意:下载的包要与Oracle数据库版本一致!

二、安装oracle-instantclien

把上一步中下载好的文件上传到Web服务器/usr/local/src/目录中,在当前目录下执行以下命令

rpm -Uvh oracle-instantclient11.1-basic-11.1.0.7.0-1.i386.rpm   #安装

rpm -Uvh oracle-instantclient11.1-devel-11.1.0.7.0-1.i386.rpm   #安装

cd /usr/lib/oracle #看到安装的库文件

三、重新编译php,添加OCI扩展

cd /usr/local/src/php-5.3.16  #进入php源码编译目录

cd  ext/oci8  #进入ext目录下的oci8目录

/usr/local/php5/bin/phpize #用phpize生成configure配置文件

./configure --with-php-config=/usr/local/php5/bin/php-config --with

oci8=share,instantclient,/usr/lib/oracle/11.1/client/lib  #配置

系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链接

make  #编译

make install  #安装

四、配置php支持OCI扩展

vi /etc/php.ini   #编辑,在最后一行添加

extension="oci8.so"

:wq! #保存退出

五、测试

cd /usr/local/nginx/html   #进入站点根目录

vi oracle.php  #编辑,输入以下内容

 

<?php

$conn = OCILogon('system','123456','192.168.21.130/orcl');

if (!$conn) {

$Error = oci_error();

print htmlentities($Error['message']);

exit;

}

else

{

echo "Connected Oracle Successd!";

ocilogoff($conn);

}

?>

:wq! #保存退出

service nginx restart #重启nginx

service php-fpm restart #重启php-fpm

浏览器打开oracle.php,出现下面的界面,说明连接成功!

connected Oracle Successd!

 

可以在新建一个文件

vi index.php  #编辑以下内容

<?php

phpinfo();

?>

:wq! #保存

在浏览器中打开,能找到oci8,说明配置成功,如下图所示

系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链接

至此,Linux下PHP远程连接Oracle数据库完成。

Linux下PHP远程连接Oracle数据库
标签: