PHP使用64位Oracle数据库

PHP连接Oracle数据库,比较方便的办法是用OCI8扩展,根据PHP网站关于OCI8扩展的说明,除了需要在PHP配置文件(php.ini)中解除对php_oci8.dll(连接Oracle 10g)或者php_oci8_11g.dll(连接Oracle 11g)注释(注意,这两个扩展只能同时启用一个)外,还需要客户端库(Client libraries),也就是说,需要安装Oracle客户端,或者Oracle Instantclient客户端。

在做的一个项目,已经存在的数据库为Oracle 10.2.0.4 x64 企业版,需要使用PHP进行网站开发。目前没有64位的PHP程序,因此按上述说明进行后,OCI8扩展仍无法加载。

解决方案:安装并配置32位 Oracle Instantclient。

具体步骤

1、下载32位Oracle Instantclient Basic版; [链接]
2、解压缩至 C:\WINDOWS\SYSWOW64\INSTANTCLIENT;
3、系统环境变量PATH中,在Oracle数据库Home库之前,添加 C:\WINDOWS\SYSTEM32\INSTANTCLIENT(注意这一步目录名的值,是SYSTEM32而不是SYSWOW64)
这么做的理由是,Windows对指向 C:\WINDOWS\SYSTEM32 的32应用程序,实际上也会查找 C:\WINDOWS\SYSWOW64 目录。而64位应用程序则会忽略 C:\WINDOWS\SYSTEM32 目录,并且能正确定位到 64 位的Oracle数据库上。

这样,就通过Instantclient的客户端库,连接到Oracle数据库了。

这篇日志首发于我的博客,PHP使用64位Oracle数据库,也欢迎进入我的博客,查看该日志的更多内容。

posted @ 2012-11-26 18:43  王晗  阅读(361)  评论(1编辑  收藏  举报