程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP下的Oracle客戶端擴展(OCI8)安裝教程

PHP下的Oracle客戶端擴展(OCI8)安裝教程

編輯:PHP綜合

最近的項目需要用php訪問oracle數據庫,不得不在linux下給php安裝oci8擴展。php也可以使用pdo訪問oracle數據庫,但還是需要安裝客戶端。

首先到oracle官網的這個頁面下載相關的文件,注意要連數據庫服務器的版本,一定要對應,否則安裝成功也會連不上,同時也要區分32位、64位服務器,比如我要連的數據庫服務器是oracle10.2.0.4,64位主機,那麼我要下載下面三個文件:

復制代碼 代碼如下:
oracle-instantclient-basic-10.2.0.4-1.x86_64.rpm
oracle-instantclient-devel-10.2.0.4-1.x86_64.rpm
oracle-instantclient-sqlplus-10.2.0.4-1.x86_64.rpm

1.用以下命令安裝

復制代碼 代碼如下:
# rpm -ivh oracle-instantclient-basic-10.2.0.4-1.x86_64.rpm oracle-instantclient-devel-10.2.0.4-1.x86_64.rpm    oracle-instantclient-sqlplus-10.2.0.4-1.x86_64.rpm

2.安裝OCI8 PHP擴展

復制代碼 代碼如下:
# yum install libaio
# cd ~
# wget http://pecl.php.net/get/oci8-1.3.5.tgz

3.然後執行命令

復制代碼 代碼如下:
# tar zxvf oci8-1.3.5.tgz
# cd oci8-1.3.5/
# /usr/local/php5/bin/phpize  CFLAGS=/usr/lib/oracle/11.2/client64/ CXXFLAGS=/usr/lib/oracle/11.2/client64/
# ./configure --with-php-config=/usr/local/php5/bin/php-config --with-oci8=instantclient,/usr/lib/oracle/11.2/client64/lib/
# make
# make install(這裡多運行幾次,直到出現如下提示)
 
[root@webserver02 oci8-1.3.5]# make install
/bin/sh /root/oci8-1.3.5/libtool --mode=install cp ./oci8.la /root/oci8-1.3.5/modules
cp ./.libs/oci8.so /root/oci8-1.3.5/modules/oci8.so
cp ./.libs/oci8.lai /root/oci8-1.3.5/modules/oci8.la
PATH="$PATH:/sbin" ldconfig -n /root/oci8-1.3.5/modules
----------------------------------------------------------------------
Libraries have been installed in:
   /root/oci8-1.3.5/modules

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,--rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
Installing shared extensions:     /usr/local/php5/lib/php/extensions/no-debug-zts-20090626/
# cd /usr/local/php5/lib

4.創建ext目錄

復制代碼 代碼如下:
# mkdir ext/

把oci8.so文件拷貝到php.ini 的ext目錄裡面
復制代碼 代碼如下:# cp /root/oci8-1.3.5/modules/oci8.so /usr/local/php5/lib/ext/

5.在php.ini裡面加上extension=oci8.so

如下:
復制代碼 代碼如下:
extension_dir = "/usr/local/php5/lib/ext"
extension = "oci8.so"
session.save_path = "/tmp/php"
oci8.privileged_connect = on

重啟apache服務:

復制代碼 代碼如下:
/usr/local/apache2/bin/apachectl stop
/usr/local/apache2/bin/apachectl start

刷新測試頁面。發現oci8出現了,則大功告成.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved