【问题标题】:Where's the OCI8 extension in PHP/5.3.2?PHP/5.3.2 中的 OCI8 扩展在哪里?
【发布时间】:2010-05-13 12:02:16
【问题描述】:

我正在部署一个使用 OCI8 函数连接到 Oracle 9i 服务器的 PHP 应用程序。我已经为 Windows (PHP/5.3.2) 安装了最新的官方二进制文件,以便将其作为 Apache 2.2 模块(即 VB6+ts MSI 安装程序)运行。但是,OCI8 扩展不再出现在扩展列表中:唯一可供选择的选项是 Oracle (10)Oracle (11g)

PHP 手册没有说明 OCI8 已被弃用。此外,没有引用任何 Oracle 10 或 11 扩展:-?

OCI8 改名了吗?其他扩展是什么?

【问题讨论】:

    标签: php oracle oracle9i oci8


    【解决方案1】:

    来自windows.php.net 的归档 php-5.3.2-Win32-VC6-x86.zip 包含两个 oci8 模块 dll,php_oci8.dll 和 php_oci8_11g.dll。您需要 10g 或 11g 客户端才能正常工作。
    http://docs.php.net/manual/en/oci8.requirements.php 说:

    在 Windows 上,OCI8 需要 10gR2 或更高版本的客户端库。对于某些版本的 Instant Client,您可能还需要 mfc71.dll 和 msvcr71.dll 库。
    [...]
    注意:如果 OCI8 使用 9iR2 或 10g 客户端库,则 PHP 可以连接到 Oracle 数据库 8i、9iR2、10g 或 11g。如果 OCI8 使用 11g 客户端库,则数据库可以是 9iR2、10g 或 11g。

    【讨论】:

    • 这是 MSI 安装程序中的命名问题,不是吗?我会检查你提到的 DLL 并报告。
    • 如果安装程序确实不包含这些 dll,您仍然可以下载 zip 存档,将这两个文件解压缩到 php 安装的 ext/ 目录,然后编辑 php.ini 以便加载 php模块。
    • 我认为捆绑的 DLL 是正确的,因为它们以 php_oci8_ 开头。现在,Apache 在启动时崩溃了,但那是另一回事了……
    猜你喜欢
    • 1970-01-01
    • 2016-11-07
    • 1970-01-01
    • 1970-01-01
    • 2017-11-13
    • 2015-10-11
    • 1970-01-01
    • 1970-01-01
    • 2014-07-20
    相关资源
    最近更新 更多