PHP 5.2 (win.server) 无法连接到 Oracle 12c 数据库

PHP 5.2 (win.server) can't connect to Oracle 12c db

我有一个很难的问题。 在 win.server 我有 PHP 5.2 版本。我必须连接到 Oracle 12c 数据库。我做的程序是:

  1. 下载 oracle 客户端 12.2
  2. 启用php_oci8.dll
  3. 将路径插入到 C:\Windows\SysWOW64\instantclient_12_2
  4. 重启服务器

我还尝试插入 php_oci8_12c.dll 扩展名并将 oci8_12c.dll 文件放入 php/ext 目录。 当我忠实于 运行 .bat 文件时,我看到错误:

在我的本地电脑上,我有 php 5.6,它们使用 12c oracle。 网上看到5.2版本可以用12c。

潜在的问题是什么?我可以尝试什么?

OCI 12c 需要 PHP 5.5,参见 http://www.oracle.com/technetwork/articles/dsl/technote-php-instant-12c-2088811.html

您可以尝试安装 Visual C++ Redistributable Package

因为 MSVCR120.dll 错误无法通过将其放入 ext 文件夹来修复。

当您使用 Apache and/or 控制台客户端时,请确保您已在两个 php.ini 文件中启用,因为它们是不同的配置。

您也可以尝试 https://pecl.php.net/package/oci8

中的 PECL OCI 包

确保选择正确的版本,最新版本仅适用于 PHP 7.

我终于成功安装了它,奇迹发生了,因为我确实喜欢这么多时间...

我做的步骤是:

  • 下载instaclient12.2(32位)
  • 安装 Visual C++ Redistributable 2013

  • 将instaclient_12_2放入C:\Windows\SysWOW64\

  • 插入路径 C:\Windows\SysWOW64\instantclient_12_2
  • 下载oci8_2.0.12 X64 TS并把php_oci8_12c.dll放入php/ext
  • 将 oci.dll(来自 instantclient_12_2(32 位))放入 C:\Apache24\bin、C:\php\ext 和 C:\php
  • 启用扩展 php_oci8_12c.dll ini php.ini

在服务器上是 Windows 服务器 2008 R1 和 PHP 5.6.2 TS