需求

OCI8 3.0 包含在 PHP 8 中。它也可以从 » PECL 获取。对于 PHP 7,请使用 » PECL 中的 OCI8 2.2。OCI8 需要 Oracle 10g 或更高版本的 Oracle 客户端库。

如果 Oracle 数据库与 PHP 位于同一台机器上,数据库软件已经包含必要的库和头文件。当 PHP 位于不同的机器上时,请使用免费的 » Oracle Instant Client 库。

要使用 Oracle Instant Client,请安装 BasicBasic Light Oracle Instant Client ZIP 文件、RPM 包或 DMG 包。从源代码构建 OCI8 时,还要安装 Instant Client SDK

您必须使用与 OCI8 构建时相同或更高版本的 Oracle 库运行 PHP。

注意:

Oracle 的标准客户端-服务器网络互操作性允许在不同版本的 Oracle 客户端和 Oracle 数据库之间建立连接。有关认证配置,请参阅 Oracle 支持文档 ID 207303.1。总而言之,Oracle 客户端 19、18 和 12.2 可以连接到 Oracle 数据库 11.2 或更高版本。Oracle 客户端 12.1 可以连接到 Oracle 数据库 10.2 或更高版本。Oracle 客户端 11.2 可以连接到 Oracle 数据库 9.2 或更高版本。

注意:

仅当使用最新版本的 Oracle 客户端库和数据库时,才能获得完整的 OCI8 功能支持。

添加说明

用户贡献说明 5 个说明

Wilber
2 年前
OCI8 扩展允许您访问 Oracle 数据库。

使用 'pecl install oci8' 为 PHP 8.1 安装。

使用 'pecl install oci8-3.0.1' 为 PHP 8.0 安装。

使用 'pecl install oci8-2.2.0' 为 PHP 7 安装。

使用 'pecl install oci8-2.0.12' 为 PHP 5.2 - PHP 5.6 安装。

使用 'pecl install oci8-1.4.10' 为 PHP 4.3.9 - PHP 5.1 安装。

[username@hostname ~]# php -v
^ 要查看 PHP 版本
Rainer Perske
7 年前
Oracle Instant Client 提供了自己的 LDAP 库,该库可能与操作系统提供的 LDAP 库不兼容。

如果您将 OCI8 扩展加载到包含 LDAP 支持的 PHP 中,或者将包含 OCI8 的 PHP 模块加载到包含 LDAP 支持的 Apache 服务器中,可能会发生段错误和其他错误。

但这在很大程度上取决于操作系统的确切版本、系统 LDAP 库、PHP、OCI8 和其他涉及的软件。
sgfan at gmx dot net
6 年前
我可以确认 Rainer 的观察结果,这不仅限于 PHP。您不能将 libopenldap 与 C 链接在一起而使用 Oracle 驱动程序,否则会在运行时使应用程序崩溃。在 HP-UX 上也是如此。两者根本不兼容。
charles dot fisher at arconic dot com
4 年前
Oracle 的开发包包含一个 ldap.h 文件,会导致 PHP 的编译尝试失败。

对于 oracle-instantclient12.2-devel 64 位 RPM,此文件位于以下路径

/usr/include/oracle/12.2/client64/ldap.h

将此文件重命名为 ldap.h-oracle。

执行此操作后,假设没有其他构建问题,PHP 将编译(即使在构建中配置了 ldap 和 oci)。
To Top