PHP7安裝oracle擴展(Win/Linux)


環境介紹:win10、phpstudy php7.2版本

一、設置php.ini

php.ini中開啟相關擴展:extension=php_oci8_12c.dll、extension=php_pdo_oci.dll

如果不是集成環境,需要自己去官網自行下載放到php/ext/目錄下 https://pecl.php.net/package/oci

二、下載並配置Oracle Instant Client

  1.查看連接oracle數據庫版本號:

    select * from v$version;

    

  2.選擇並下載合適的版本

  https://www.oracle.com/database/technologies/instant-client/downloads.html

  

  

 

   解壓到任意目錄

 

  3.配置win系統環境變量

  右擊電腦 -> 屬性 -> 高級系統設置 -> 環境變量 -> 新建 

    1)變量名:NLS_LANG

       變量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

    2)變量名:ORACLE_HOME

       變量值:F:\phpStudy\PHPTutorial\instantclient_18_5

    3)變量名:TNS_ADMIN

       變量值:F:\phpStudy\PHPTutorial\instantclient_18_5

  修改path變量:增加F:\phpStudy\PHPTutorial\instantclient_18_5

三、驗證

  重啟web服務,nginx或apache,集成環境有時候需要多重啟幾次

  

 

   

 

$db_user = "user";
$db_pass = "pass";
$conn = oci_connect($db_user,$db_pass,"127.0.0.1/oral");
$sql = "SELECT FDATA FROM db.table WHERE FID='0O7lLrGCSAa2vNjQW5jpWQdY8J8='";
$result_rows = oci_parse($conn, $sql);
$row_count = oci_execute($result_rows, OCI_DEFAULT);
$result = oci_fetch_array($result_rows, OCI_ASSOC);
$arr['FDATA'] = oci_result($result_rows,'FDATA'); $arr['FDATA'] = $arr['FDATA']->load(); var_dump($arr);die;

 

四、兼容64位Navicat

  1.下載64位Oracle Instant Client

    

 

 

   2.解壓放到另外一個目錄下,比如:F:\instantclient_18_5

  3.工具 -> 選項 -> 環境 -> OCI環境(選擇64位解壓包oci.dll)

    

  4.重啟

 


 

環境介紹:Centos、7.3.19

一、安裝oracle rpm包

1.下載

wget https://download.oracle.com/otn_software/linux/instantclient/185000/oracle-instantclient18.5-basic-18.5.0.0.0-3.x86_64.rpm
wget https://download.oracle.com/otn_software/linux/instantclient/185000/oracle-instantclient18.5-devel-18.5.0.0.0-3.x86_64.rpm

2.安裝

rpm -i oracle-instantclient18.5-basic-18.5.0.0.0-3.x86_64.rpm
rpm -i oracle-instantclient18.5-devel-18.5.0.0.0-3.x86_64.rpm

二、編譯安裝pdo_oci和oci8

1.下載

特別說明:pdo_oci包必須和php版本一致,所以建議下載php版本,用ext/pdo_oci包進行安裝

wget --no-check-certificate  https://www.php.net/distributions/php-7.3.19.tar.gz
wget --no-check-certificate  https://pecl.php.net/get/oci8-2.2.0.tgz

2.安裝

#安裝oci8
tar
-zxvf oci8-2.2.0.tgz cd oci8-2.2.0 phpize ./configure --with-php-config=/usr/local/php-7.3.19/bin/php-config --with-oci8=shared,instantclient,/usr/lib/oracle/18.5/client64/lib make make install
#安裝pdo_oci
tar
-zxvf tar -zxvf php-7.3.19.tar.gz
cd php-7.3.19/ext/
cp -r pdo_oci/ /tmp/ cd /tmp/pdo/oci/
phpize
./configure --with-php-config=/usr/local/php-7.3.19/bin/php-config --with-pdo-oci=instantclient,/usr/lib/oracle/11.2/client64/lib
make
make install
vim /usr/local/php-7.3.19/etc/php.ini #加入oci8.so和pdo_oci.so
export  LD_LIBRARY_PATH=$ORACLE_HOME/lib #有時會因為缺少libnnz11.so報錯,執行這條命令即可

 3.驗證

php -m

 


免責聲明!

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



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