如何在64位Windows安装32位php oci扩展

本文介绍如何在64位 Windows 上安装32位 PHP 的 OCI8 扩展和 Oracle Instant Client 的详细教程

环境配置:

  • PHP版本 5.5 32位
  • Windows7 64位
  • Oracle 11g 客户端
  • Apache 2.4

在 Windows 上启用 PHP OCI8 扩展

OCI8 是 PHP 扩展,一般默认不开启,用于连接到 Oracle 数据库,无论你是用哪种方式,pdo也好还是Windows直连也好,都需要oci8这个扩展。 如果配置了PHP系统环境变量可以用 cmd> php –ri oci8 命令来检查是否启用了oci8扩展。

php --ri oci8

安装OCI8

首先下载OCI8的扩展 http://pecl.php.net/package/o… 我这里下的版本是5.5 Thread Safe (TS) x86 版本
注意:版本分为 Thread Safe 和 Non Thread Safe(其间区别可自行百度),一般Apache都选择Thread Safe,如果不放心可以用phpinfo看一下,在PHP Extension Build一栏有显示。

为什么选择下x86版本的呢?因为我的php是32位的所以扩展也必须下32位的。下载完后,解压php_oci8.dll文件,拷贝到PHP扩展目录下,扩展目录在php.ini中 extension_dir = xxxxxx 指定。如果你的系统是64位则对应下载x64的版本即可。

如果启动apache时提示php_oci8不是有效的win32程序,那肯定是版本搞错了,下个正确的即可。

安装Oracle Client

Oracle Instant Client 是一组可轻松安装的免费库,允许程序连接到本地或远程 Oracle 数据库实例。

很多教程都直接添加扩展而忽略了oracle客户端的安装,这样php系统会报无法定位程序输入点OCILobRead2 于动态链接库OCI.dll上,很明显嘛,Windows找不到oci.dll文件

首先下载oracle客户端 http://www.oracle.com/technet… 我这里下的是 instantclient-basic-win32-11.1.0.6.0.zip 版本,注意一定要下与php相匹配的版本,如果你的php是32位的那oracle也要下32位的。

下载完后里面有oci.dll 这个文件,当启动了php的扩展后,找的也就是这个 oracle 文件。那 php 怎么找这个dll呢,加系统环境变量嘛,怎么加就不说了,需要的话留言吧。

最后,取消 php.ini 文件中php_oci8.dll的注释然后重启 Apache 即可

删除以下代码行前的分号:
extension=php_oci8.dll
    原文作者:比比比卡丘
    原文地址: https://segmentfault.com/a/1190000010888824
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞