環境:centos6.9 php5.3.3
oracle客戶端:
下載鏈接:http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
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
php連接oracle模塊支持pdo_oci:
http://pecl.php.net/package/PDO_OCI PDO_OCI-1.0.tgz Oracle Call Interface driver for PDO
http://pecl.php.net/package/oci8 oci8-1.4.5.tgz Extension for Oracle Database,allows you to access Oracle databases
一、oracle客戶端上傳
使用xftp5工具連接linux服務器,上傳已上下載文件至/usr/local/src目錄下
二、oracle客戶端安裝
安裝oracle客戶端
1、執行命令:rpm -ivh oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm
2、執行命令:rpm -ivh oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.rpm
配置oracle
1.修改/etc/ld.so.conf 或在ld.so.conf.d文件夾下添加oracle-x86_64.conf文件,寫入安裝oracle客戶端的lib路徑:
執行命令:echo '/usr/lib/oracle/11.2/client64/lib/' > /etc/ld.so.conf.d/oracle-x86_64.conf
2.64位系統需要創建32位的軟鏈接(這里可能是一個遺留bug,不然后面編譯會出問題)
執行命令1:ln -s /usr/lib/oracle/11.2/client64 /usr/lib/oracle/11.2/client
執行命令2:ln -s /usr/include/oracle/11.2/client64 /usr/include/oracle/11.2/client
3.定義環境變量,修改/etc/profile文件,加入如下配置:
export ORACLE_HOME=/usr/lib/oracle/11.2/client64/
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64:$LD_LIBRARY_PATH
export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"
4,執行命令:source /etc/profile,使其生效
三、檢查phpize是否安裝
1、執行命令:find / -name phpsize,檢查phpize是否存在
2、存在則執行下一步操作,反之,執行命令:yum install -y php-devel安裝
四、安裝pdo_oci模塊
切換目錄:cd /usr/local/src
解壓安裝包:tar -zxvf PDO_OCI-1.0.tgz
切換目錄:cd PDO_OCI-1.0
防止pdo_oci對oracle11支持不足(pdo_oci可能不支持oracle11g,需要做個軟鏈接成作為oracle10版本才能
執行命令1:ln -s /usr/include/oracle/11.2 /usr/include/oracle/10.2.0.1
執行命令2:ln -s /usr/lib/oracle/11.2 /usr/lib/oracle/10.2.0.1
執行命令3:phpize 用phpize來擴展
執行命令4:./configure --with-php-config=php-config --with-pdo-oci=instantclient,/usr,10.2.0.1
注:--with-pdo-oci這里也可以寫全路徑,可通過./configure --help查看具體用法
執行命令5:make
執行命令6:make install
執行命令7:ll /usr/lib64/php/modules/ |grep pdo_oci.so
執行命令8:vi /etc/php.ini配置文件中加入extension=pdo_oci.so,或者在/etc/php.d/下新建個pdo_oci.ini,添加進去
五、安裝oci8
同上,解壓至/usr/local/src
執行命令1:cd oci8-1.4.5/
執行命令2:phpize
執行命令3:./configure --with-php-config=php-config --with-oci8=shared,instantclient,/usr/lib/oracle/11.2/client/lib
執行命令4:make && make install
執行命令5:ll /usr/lib64/php/modules
執行命令6:echo 'extension=oci8.so' >>/etc/php.ini,或在/etc/php.d/下新建個oci8.ini將其添加進去
執行命令7:/etc/init.d/httpd reload
執行命令8:php -m
..
memcache
oci8
openssl
pcntl
pcre
PDO
PDO_OCI
pdo_sqlite
...
可以看到模塊pdo_oci和oci8已加載進去
