win PHP7安装oracle扩展

时间:2022-12-17 13:11:58

环境介绍: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;

    win PHP7安装oracle扩展

  2.选择并下载合适的版本

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

  win PHP7安装oracle扩展

  win PHP7安装oracle扩展

  解压到任意目录

  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,集成环境有时候需要多重启几次

  win PHP7安装oracle扩展

  win PHP7安装oracle扩展

$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

    win PHP7安装oracle扩展

  2.解压放到另外一个目录下,比如:F:\instantclient_18_5

  3.工具 -> 选项 -> 环境 -> OCI环境(选择64位解压包oci.dll)

    win PHP7安装oracle扩展

  4.重启