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

PHP 4 連接 Oracle 8i 完整實作指南 (Linux 環境)

     編輯:PHP 相關知識

前置需求

  1. Oracle 8i for Linux 完整安裝 (非僅 Client),下載位置:chat.hn.cninfo.net/soft 的 hot 下載區。
  2. PHP 3 或 PHP 4 原始碼。
  3. Linux 開發工具鏈:gcc、make、autoconf、flex、bison 等。

編譯安裝步驟

1. 設定 Oracle 環境變數

export ORACLE_HOME=/opt/oracle8i
export ORACLE_SID=ORCL
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH

寫入 /etc/profile 或使用者 .bash_profile 永久生效。

2. 編譯 PHP 加入 Oracle 支援

cd php-4.x.x
./configure --with-apxs=/usr/local/apache/bin/apxs \
            --with-oci8=$ORACLE_HOME \
            --enable-sigchild \
            --with-config-file-path=/usr/local/apache/conf \
            [其他所需選項]
make
make install
  • --with-oci8 指定 Oracle 安裝路徑,啟用 OCI8 擴充。
  • --enable-sigchild 避免 Apache 子進程殭屍進程問題。

3. 驗證安裝

<?php
$conn = OCILogon('scott', 'tiger', 'ORCL');
if ($conn) {
    echo "Oracle 連線成功!";
    OCILogoff($conn);
} else {
    $e = OCIError();
    echo "連線失敗: " . $e['message'];
}
?>

常見問題排查

現象可能原因解決方向
configure 錯誤找不到 oci.hORACLE_HOME 路徑錯誤或未安裝 SDK確認 $ORACLE_HOME/rdbms/public 存在
編譯失敗 undefined reference庫路徑未加入 LD_LIBRARY_PATH檢查 config.log,補齊 -L$ORACLE_HOME/lib
OCILogon 回傳 ORA-12154TNS 服務名解析失敗檢查 $ORACLE_HOME/network/admin/tnsnames.ora
Apache 啟動錯誤 libclntsh.so not found動態庫未載入執行 ldconfig 或設定 LD_LIBRARY_PATH 於 apachectl

生產環境建議

  • 使用 Oracle Instant Client 替代完整安裝,減少磁碟佔用。
  • 啟用 oci8.ping_interval 定期檢測連線存活。
  • 搭配 OCIPLogon 持久連線減少握手開銷。
  • 定期備份 tnsnames.ora、listener.ora 設定檔。

完成上述步驟,PHP 4 即能在 Linux 上穩定連接 Oracle 8i,支援企業級應用開發。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved