CentOS 5.5 x86_64下安裝oci8與pdo_oci擴展

火星人 @ 2014-03-12 , reply:0
←手機掃碼閱讀

  

CentOS伺服器上已有相關環境:Apache2、php 5.3.3

需要安裝:Oracle客戶端、pdo_oci擴展、oci8擴展

Let's do it !

一、 準備文件

1) oracle客戶端rpm包,http://www.oracle.com/technology/tech/oci/instantclient/instantclient.html 下載

# oracle-instantclient11.1-basic-11.1.0.7.0-1.x86_64.rpm
#
oracle-instantclient11.1-devel-11.1.0.7.0-1.x86_64.rpm
#
oracle-instantclient11.1-sqlplus-11.1.0.7.0-1.x86_64.rpm

2) pdo_oci 與 oci8 包

# oci8-1.4.5.tgz   //  
#
PDO_OCI-1.0.tgz //


具體下載目錄在 /pub/2011/10/20/CentOS 5.5 x86_64下安裝oci8與pdo_oci擴展/

二、安裝oracle客戶端

# rpm -ivh oracle-intstant*.rpm 

三、配置oracle

 1) 添加動態裝載器

   修改/etc/ld.so.conf文件或在ld.so.conf.d文件夾下添加oracle-x86_64.conf文件,寫入如下你安裝的oracle客戶端的lib路徑:

/usr/lib/oracle/11.1/client64/lib/

2) 64位系統需要創建32位的軟鏈接(不然後面安裝會出問題,我就這上面糾纏了很久)

# ln -s /usr/lib/oracle/10.2.0.3/client64 /usr/lib/oracle/11.1/client
#
ln -s /usr/include/oracle/10.2.0.3/client64 /usr/include/oracle/11.1/client

3) 修改/etc/profile文件,最後加入如下內容:

export ORACLE_HOME=/usr/lib/oracle/11.1/client64/
export LD_LIBRARY_PATH
=/usr/lib/oracle/11.1/client64:$LD_LIBRARY_PATH
export NLS_LANG
="AMERICAN_AMERICA.AL32UTF8"
# source /etc/profile //使之生效 

四、安裝pdo_oci

1)解壓,進入文件夾,不寫了

2)以免pdo_oci對oracle11支持不足,做一個假的ln,騙過編譯

# ln -s /usr/include/oracle/11.1 /usr/include/oracle/10.2.0.1
#
ln -s /usr/lib/oracle/11.1 /usr/lib/oracle/10.2.0.1

3) 用phpize來擴展,文件夾內執行: phpize

4) 編譯

# ./configure --with-php-config=/usr/bin/php-config --with-pdo-oci=instantclient,/usr,10.2.0.1
#
make && make install

執行順利完成後,最後一行可以看到,已經將pdo_oci.so文件放入php的modules下,只需修改下php.ini文件,添加extension=pdo_oci.so即可  

五、安裝oci8

基本一樣,解壓,進入,phpize,編譯即可,不需要轉換

# ./configure --with-php-config=/usr/bin/php-config --with-pdo-oci=instantclient,/usr/lib/oracle/11.1/client64/lib
#
make && make install

 

 

最後也要修改php.ini文件(我這裡的系統配置是分離的,在/etc/php.d/文件夾下新建一個oci8.ini,內容還是extension=oci8.so 

六、打完收功,查看你的phpinfo()吧






[火星人 via ] CentOS 5.5 x86_64下安裝oci8與pdo_oci擴展已經有323次圍觀

http://www.coctec.com/docs/net/show-post-68211.html