2024 年 PHP 日本研討會

需求

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,請安裝 `Basic` 或 `Basic Light` Oracle Instant Client 的 ZIP 檔案、RPM 套件或 DMG 套件。從原始碼建置 OCI8 時,也請安裝 Instant Client `SDK`。

您必須使用與建置 OCI8 時相同或更新版本的 Oracle 函式庫來執行 PHP。

注意:

Oracle 標準的用戶端-伺服器網路互通性允許不同版本的 Oracle 用戶端和 Oracle 資料庫之間的連線。關於認證的配置,請參閱 Oracle 支援的 Doc ID 207303.1。總而言之,Oracle Client 19、18 和 12.2 可以連線到 Oracle Database 11.2 或更高版本。Oracle Client 12.1 可以連線到 Oracle Database 10.2 或更高版本。Oracle Client 11.2 可以連線到 Oracle Database 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 版本
sgfan at gmx dot net
7 年前
我可以證實 Rainer 的觀察,而且這不僅限於 PHP。如果將 libopenldap 與包含 Oracle 驅動程式的 C 連結,則應用程式會在執行階段當機。在 HP-UX 上也是一樣。兩者完全無法相容。
Rainer Perske
7 年前
Oracle Instant Client 提供了自己的 LDAP 函式庫,可能與作業系統提供的 LDAP 函式庫不相容。

如果您將 OCI8 擴充功能載入到包含 LDAP 支援的 PHP 中,或是將具有 OCI8 的 PHP 模組載入到具有 LDAP 支援的 Apache 伺服器中,則可能會發生區段錯誤和其他錯誤。

但這很大程度上取決於作業系統、系統 LDAP 函式庫、PHP、OCI8 和其他相關軟體的確切版本。
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