這篇文章主要介紹了PHP下的Oracle客戶端擴(kuò)展(OCI8)安裝教程,本文在Linux系統(tǒng)中實(shí)現(xiàn),OCI8是用來(lái)連接Oracle數(shù)據(jù)庫(kù)的PHP擴(kuò)展模塊,需要的朋友可以參考下
最近的項(xiàng)目需要用php訪問(wèn)oracle數(shù)據(jù)庫(kù),不得不在linux下給php安裝oci8擴(kuò)展。php也可以使用pdo訪問(wèn)oracle數(shù)據(jù)庫(kù),但還是需要安裝客戶端。
首先到oracle官網(wǎng)的這個(gè)頁(yè)面下載相關(guān)的文件,注意要連數(shù)據(jù)庫(kù)服務(wù)器的版本,一定要對(duì)應(yīng),否則安裝成功也會(huì)連不上,同時(shí)也要區(qū)分32位、64位服務(wù)器,比如我要連的數(shù)據(jù)庫(kù)服務(wù)器是oracle10.2.0.4,64位主機(jī),那么我要下載下面三個(gè)文件:
- 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擴(kuò)展,代碼如下:
- # yum install libaio
 - # cd ~
 - # wget http://pecl.php.net/get/oci8-1.3.5.tgz
 
3.然后執(zhí)行命令,代碼如下:
- # 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(這里多運(yùn)行幾次,直到出現(xiàn)如下提示)
 - [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.創(chuàng)建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服務(wù):
/usr/local/apache2/bin/apachectl stop
/usr/local/apache2/bin/apachectl start
刷新測(cè)試頁(yè)面。發(fā)現(xiàn)oci8出現(xiàn)了,則大功告成.
新聞熱點(diǎn)
疑難解答
圖片精選