首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

Windows + WAMP 環境安裝配置 PHP OCI8 擴展連接 Oracle 資料庫完整教程

     編輯:PHP 綜合知識

前置準備:下載兩個套件

  1. Oracle Instant Client(含 OCI 庫)
    官網:Instant Client 下載頁
    選擇 Instant Client for Microsoft Windows (x64),下載 Basic 版(包含 OCI)
  2. PHP OCI8 DLL 擴展
    官網:PECL oci8
    根據 PHP 版本、Thread Safety、VC 編譯器版本下載對應 zip

安裝步驟

1. 部署 Instant Client

  • 解壓至任意目錄,如 F:\dev\instantclient(建議移除版本號後綴,便於日後升級)
  • 雙擊 adrci.exe 測試客戶端可用性
  • 將該目錄加入系統環境變數 Path

2. 部署 PHP OCI8 擴展

  • 解壓 DLL zip,複製 php_oci8.dll、php_oci8_11g.dll、php_oci8_12c.dll 至 PHP ext/ 目錄
  • 編輯 php.ini,啟用擴展:
extension=php_pdo_oci.dll
extension=php_oci8.dll
extension=php_oci8_11g.dll
extension=php_oci8_12c.dll

3. 重啟 Apache 並驗證

<?php phpinfo(); ?>

搜尋 OCI8 Support 應顯示 enabled,並看到 Oracle Client Library 版本。

PHP 連接 Oracle 範例

<?php
$ora_host = "172.16.1.150";
$ora_port = "1521";
$ora_sid  = "cop";
$ora_user = "webdev";
$ora_pass = "webdev";
$charset  = "UTF8";

// Easy Connect 字串
$conn_str = "(description=(address=(protocol=tcp)(host=$ora_host)(port=$ora_port))(connect_data=(service_name=$ora_sid)))";

$conn = oci_connect($ora_user, $ora_pass, $conn_str, $charset);
if (!$conn) { $e = oci_error(); die($e['message']); }

$stid = oci_parse($conn, 'SELECT * FROM dq_try_app');
oci_execute($stid);

while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    foreach ($row as $item) echo $item . "***";
    echo "<br>";
}
oci_free_statement($stid);
oci_close($conn);

常見坑點

  • Instant Client 版本與 OCI8 DLL 版本需對應(11g/12c/19c)
  • PHP 非 Thread Safe (NTS) 版需下載 NTS 版 DLL
  • 環境變數 Path 生效需重啟命令提示字元/IDE
  • 防火牆需開放 1521 埠
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved