php 連線 oracle 環境配置(php5.3.10+oracle11客戶端)
首先確認你已經安裝有oracle 11g,下面是在裝有oracle 11g的centos-6 64位配置php與oracle連線的事例。
安裝oracle即時客戶端
到這裡
下載oracle-instantclient11.2-basic,oracle-instantclient11.2-devel,oracle-instantclient11.2-sqlplus檔案,開始安裝:
rpm -ivh oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.rpm oracle-instantclient11.2-sqlplus-11.2.0.3.0-1.x86_64.rpm
vi /etc/ld.so.conf.d/oracle-lib.conf
加入:
/usr/lib/oracle/11.2/client64/lib/
ldconfig
安裝OCI8 PHP擴充套件
cd /tmp
wget http://pecl.php.net/get/oci8-1.4.7.tgz
tar xzf oci8-1.4.7.tgz
cd oci8-1.4.7
phpize
./configure --with-oci8=shared,instantclient,/usr/lib/oracle/11.2/client64/lib/
如果出現錯誤
configure: error: Cannot find php-config. Please use --with-php-config=PATH
加入php-config路徑可解決
./configure --with-php=config=/usr/local/php-5.3/bin/php-config --with-oci8=shared,instantclient,/usr/lib/oracle/11.2/client64/lib/
make && make install
在/etc/php.ini中加入:
extension = "oci8.so"
接著使用/usr/local/php-5.3/bin/php -m檢視模組是否已經被載入
將tnsnames.ora 修改相關的引數並複製到
/usr/lib/oracle/11.2/client64/network/admin
沒有資料夾則手動建立
修改php-fpm 加入環境變數
vim /usr/local/php-5.3/etc/php-fpm.conf
加入
env[ORACLE_HOME] = $ORACLE_HOME
檢查配置檔案
/usr/local/php-5.3/sbin/php-fpm -t
增加系統變數
vim /etc/profile
加入
export ORACLE_HOME=/usr/lib/oracle/11.2/client64/
重新整理生效
source /etc/profile
重啟PHP
pkill -9 php
必須直接殺掉,如果採用平滑重啟則不生效
kill -USR2 `cat /usr/local/php-5.3/var/run/php-fpm.pid `
啟動PHP
/usr/local/php-5.3/sbin/php-fpm
完成
如果需要sqlplus 支援則需要再加入環境變數
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib/
sqlplus /nolog
conn 使用者名稱@例項名
連線