【linux環境】Linux環境 php連接oracle11g數據庫(相關插件已備份至U盤)


1、環境:centos6 、 LNMP(linux環境都可以,跟服務器沒啥大關系)

2、前期准備:弄清楚 項目php的運行目錄,php.ini的配置目錄,php-config的運行目錄

3、安裝先知:步驟一=》安裝oracle在linux環境的客戶端,oracle-instantclient-basic 

                       步驟二=》安裝php連接oracle擴展,php-oci8

4、首先查看phpinfo(),是否已支持oci8擴展(查看php內核版本,這個很重要,命令:var_dump(12345678900),32位超過64億顯示float類型,64位顯示int;另外一種方式查看版本:phpinfo() => 搜索‘architecture’ 結構,內核,代表了php的版本號x86和x64

5、安裝步驟如下(僅以64位版本為例):

安裝oracle-instantclient

下載地址:http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html

分別下載 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

放在/usr/packages/目錄下,執行:

#  cd /usr/packages/
# rpm -ivh oracle-instantclient*

此時會生成/usr/lib/oracle/11.2/client64/lib/目錄。*注:下載對應數據庫版本(注:這里的oracle11g 僅僅指的是 linux連接oracle數據庫的客戶端,選擇11、12、19都可以的,與php版本無關。

(上面路徑一定要去看看是否生成了,這很重要,路徑名稱可能不同,部分機器會生成 /usr/lib/oracle/11.2/client/lib/目錄)

 

二、修改/etc/ld.so.conf配置文件

追加以下內容 -- 上面生成文件的路徑,沒有64的寫client/lib/:

/usr/lib/oracle/11.2/client64/lib/

保存、退出,執行命令 # ldconfig

 

三、安裝oci8

下載最新的oci8組件

下載地址:http://pecl.php.net/package/oci8

下載 oci-2.0.8.tgz

放在/usr/packages/目錄下,依次執行:

# cd /usr/packages/

# tar -xvzf oci-2.0.8.tgz

# cd oci-2.0.8

# /usr/local/php/bin/phpize (用phpize生成configure配置文件,千萬注意:phpize、php-config、instantclient目錄一定要找對,這個需要自己去找)

# ./configure --with-php-config=/usr/local/php/bin/php-config --with-oci8=shared,instantclient,/usr/lib/oracle/11.2/client64/lib

# make && make install

成功后會告訴你oci8.so已經成功放在以下目錄(這僅僅是我的目錄,你的可能不同);

 

 

四、配置PHP支持OCI擴展

修改php配置文件

# vi /usr/local/php/lib/php.ini文件

在extension項后追加以下內容

extension=oci8.so

 

 

五、重啟Apache/nginx服務測試

# service apache2 restart   【-- apache】

# service nginxd restart      【-- nginx】

使用phpinfo()查看擴展是否開啟,如果出現下圖說明擴展開啟

 

六、測試數據庫連接

在站點根目錄編寫oracle.php

代碼如下:

<?php
header("Content-type: text/html; charset=utf-8");
$conn= oci_connect('report', 'report', 'ip:port/service','zhs16gbk');
if($conn) {
  echo"連接oracle成功!";
}else{
  echo"連接oracle失敗!";exit;
}
?>

 

七、以上過程親測可用,不懂的可以留言。  --   發帖日期:2018/05/25

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM