1. 程式人生 > >linux centos centos7 安裝oci8和pdo_oci擴展

linux centos centos7 安裝oci8和pdo_oci擴展

linux centos oci8 pdo_oci

linux centos7 安裝oci8和pdo_oci擴展

一、基本環境
1、centos7_64+Apache/2.4.7+PHP5.3.27;
2、oracle11.2(遠程)
3、設置oracle11.2運行遠程訪問(屬於oracle設置的範疇)
4、設置防火墻運行方位
5、以下步驟以root身份執行

二、安裝oci8擴展

1、到oracle官網下載:
oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm和oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm(註:根據操作系統和數據庫版本選擇不同的版本)

2、安裝以上兩個rpm包
rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm

以上的安裝路徑為:
/usr/lib/oracle/11.2/client64/lib 和/usr/include/oracle/11.2/client64.

還可能用到以下幾條命令:
rpm -qpl 可以查看rpm包會在哪些路徑安裝文件
rpm -qa | grep oracle     //查看oracle是否安裝  
rpm -qa   //查看所有已安裝的人rpm包  
rpm -e oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm //卸載已安裝的rpm包  
rpm -ivh --force oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm //強制安裝rpm包

3、到php官網下載oci8-2.0.8.tgz(不能使用高版本,否則以下可能會報錯)並解壓為oci8-2.0.8文件夾

4、在oci8-2.0.8文件夾中執行

# phpize(此處為phpize命令的全路徑)
# ./configure --with-oci8=instantclient,/usr/lib/oracle/11.2/client64/lib ----with-php-config=php-config(此處為php-config命令的完整路徑)

# make && make install
執行成功後,界面會輸出oci8.so的完整路徑

5、在php.ini文件中添加
extension=oci8.so(此處應填寫oci8.so的完整路徑,此路徑在上條命令中輸出)

6、重啟apache
httpd -k restart(此處為httpd的全路徑)

三、安裝pdo_oci擴展

先執行上述1、2步驟;

3、執行#vi /etc/ld.so.conf  
/usr/lib/oracle/11.2/client64/lib/     //加入此行,保存退出

4、執行

ln -s /usr/lib/oracle/11.2/client64 /usr/lib/oracle/11.2/client  
ln -s /usr/include/oracle/11.2/client64 /usr/include/oracle/11.2/client
64位系統需要創建32位的軟鏈接(這裏可能是一個遺留bug)

5、執行vi 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"

6、執行
#source /etc/profile

7、執行
ln -s /usr/include/oracle/11.2 /usr/include/oracle/10.2.0.1  
ln -s /usr/lib/oracle/11.2 /usr/lib/oracle/10.2.0.1
註:防止pdo_oci對oracle11支持不足

8、官網下載php-5.3.27.tar.gz,解壓後將其中的pdo_oci文件夾復制到php的擴展目錄中(如主目錄/ext/pdo中)

9、在“主目錄/ext/pdo”中執行:
# phpize(此處為phpize命令的全路徑)
# ./configure --with-pdo-oci=instantclient,/usr,11.2 --with-php-config=php-config(此處為php-config命令的完整路徑)

# make && make install
執行成功後,界面會輸出pdo_oci.so的完整路徑

10、在php.ini文件中添加
extension=pdo_oci.so(此處應填寫pdo_oci.so的完整路徑,此路徑在上條命令中輸出)

11、重啟apache
httpd -k restart(此處為httpd的全路徑)

四、測試是否安裝成功

1、執行./php -i |grep oci(此處為php命令的全路徑),輸出如下證明成功:
oci8
......
PDO drivers => mysql, sqlite, sqlite2, oci  

2、也可以使用php腳本測試  
測試pdo_oci:$pdo= new PDO(‘oci:dbname=//oracle的ip地址:1521/數據庫名;charset=utf8‘,用戶名,密碼);
測試oci8:$conn = oci_connect(用戶名,密碼, oracle的ip地址:1521/數據庫名);

linux centos centos7 安裝oci8和pdo_oci擴展