本文記錄在 CentOS 6 環境下為 PHP 5.3.28 安裝 Oracle Instant Client 及 OCI8 擴展的完整步驟,解決連接 Oracle 資料庫的依賴問題。
# 下載以下四個 RPM 檔案(64位元系統) oracle-instantclient-sqlplus-10.2.0.4-1.x86_64.rpm oracle-instantclient-jdbc-10.2.0.4-1.x86_64.rpm oracle-instantclient-devel-10.2.0.4-1.x86_64.rpm oracle-instantclient-basic-10.2.0.4-1.x86_64.rpm # 批次安裝 rpm -ivh *.rpm
# 從 PECL 下載
wget https://pecl.php.net/get/oci8-2.0.7.tgz
# 解壓縮進入目錄
tar zxvf oci8-2.0.7.tgz
cd oci8-2.0.7
# phpize 準備編譯環境
/usr/local/php/bin/phpize
# 配置編譯參數(注意 instantclient 路徑)
./configure --with-php-config=/usr/local/php/bin/php-config \
--with-oci8=shared,instantclient,/usr/lib/oracle/10.2.0.4/client64/lib/
# 編譯安裝
make && make install
vi /usr/local/php/etc/php.ini # 新增以下行 extension = "oci8.so"
# 查找主進程 PID ps aux | grep php | grep root # 優雅重啟(發送 USER2 信號) kill -USER2 php_master_pid
# 檢查模組是否載入 php -m | grep oci8 # 或建立測試檔 echo '<?php phpinfo(); ?>' > /var/www/html/test.php
LD_LIBRARY_PATH 包含 Oracle client lib 目錄gcc、php-devel 等建構工具