PHP连接Oracle数据库

虽然PHP与Oracle搭配有点奇葩,但因为公司业务需要还是要用到,经过多次测试,

下面是windows下使用PHP利用OCI扩展实现连接Oracle数据库的操作方法

首先先看一下/php/ext文件夹里面有没有php_oci8_***.dll的扩展,我这里是php_oci8_12c.dll 说明当前xampp内置了对oracle12c版本的支持(理论向下兼容),

picture1

如果没有的话到以下链接下载:注意版本要一致

链接地址: http://pecl.php.net/package/oci8

找到php.ini打开编辑,找到extension=php_oci8**.dll(不同版本的xampp这里调用的动态库文件名可能不一样,有的是php_oci8_11g.dll或者其他,根据目标连接数据库的版本自行选择),如下图所示

默认的这一行前面有个分号,属于注释掉的内容,把分号删除开启该扩展插件,如下图所示

picture2

注意:这时候重启Apache会发现其实还是不能用的,可以用phpinfo()看一下,在页面中搜索oci,会发现没有单独对于oci插件的相关信息,

这时候就需要再从oracle官网上下载一个叫Oracle Instant Client的客户端组件包了,地址:点此链接 

这里一定要注意一下,instantclient-baseic选择32位还是64位要看运行的php是32位还是64位而定,而不是系统位数,

即便是在64位的Windows系统里,也一定要下载安装32位的这个客户端,别问我为啥,不信你试试(一定要下载32位的版本!!!)

picture3

链接地址: http://www.oracle.com/technetwork/database/database-technologies/instant-client/downloads/index.html

picture4

链接地址: http://www.oracle.com/technetwork/topics/winsoft-085727.html

将下载好的instantclient-basic-nt-12.2.0.1.0.zip 文件解压

打开系统设置环境变量,把解压后的路径添加到系统变量的path里面

注意:一定要在系统变量的path里添加解压后instantclient_12_2 文件夹的路径

否则之前的操作都不生效

最后 查看phpinfo() 如果能看到下图的话说明配置成功了

picture5

感谢原文作者,链接地址:http://blog.csdn.net/lpwmm/article/details/77833026


下面是使用oci_connect 函数连接Oracle 的方法

使用oci_connect() 函数创建连接时,第三个参数需要使用以下格式

@$conn=oci_connect($username,$pwd,“(DEscriptION=(ADDRESS=(PROTOCOL=TCP)(HOST=1127.0.0.1)(PORT=1521))(CONNECT_DATA=(SID=ORCL)))”)

注意第三个参数的格式:

HOST为服务器ip地址

SID为服务器创建时设置的SID

 

PHP连接Oracle数据库

转载请注明来源:幽幽过客_{PHP连接Oracle数据库}