以 11.2 为例 , 注意必须要与数据库版本对应
下载如下两个文件
instantclient-basic-linux.x64-11.2.0.4.0.zip https://download.oracle.com/otn/linux/instantclient/11204/instantclient-basic-linux.x64-11.2.0.4.0.zip
instantclient-sdk-linux.x64-11.2.0.4.0.zip https://download.oracle.com/otn/linux/instantclient/11204/instantclient-sdk-linux.x64-11.2.0.4.0.zip

以上两个文件解压到 /usr/local/lib/instantclient 目录
增加环境变量 ~/.bashrc
export ORACLE_HOME=/usr/local/lib/instantclient
export LD_LIBRARY_PATH=$ORACLE_HOME

安装 oci8 扩展
进入php源码包
./configure --with-php-config=/usr/local/php7.2/bin/php-config --with-oci8=instantclient,/usr/local/lib/instantclient,11.2

安装 pdo_oci 扩展
./configure --with-php-config=/usr/local/php7.2/bin/php-config --with-pdo-oci=instantclient,/usr/local/lib/instantclient,11.2

命令行 hostname 的结果要加到 /etc/hosts 里

===========================

使用

原生连接
$conn = OCILogon('system', 'aa123456', '192.168.1.184/orcl');
$stid = oci_parse($conn, 'SELECT * FROM TEST2.TAB2');
oci_execute($stid);
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
print_r($row);
}
pd(11);

yii 连接
$ip = '192.168.1.184';
$port = 1521;
$dbname= 'ORCL'; // 数据库名必须大写
$username = 'system';
$password = 'aa123456';
$charset = 'utf8';
$driver = \Yii::createObject([
'class' => 'yii\db\Connection',
'dsn' => "oci:dbname=//$ip:$port/$dbname;", // Oracle
'username' => $username,
'password' => $password,
'charset' => $charset,
]);

$sql = 'select * from TEST2.TAB2';
$d = $driver->createCommand($sql)->queryAll();
pd($d);

安装参数 https://www.cnblogs.com/mython/p/12931648.html

YII oracle的更多相关文章

  1. yii下使用oracle中文都变成问号乱码的解决方法

    在配置文件中,一般会用以下配置: 'db_oracle'=>array( 'class' => 'CDbConnection', 'connectionString'=>'oci:d ...

  2. YII :将oracle中timestamp 字段正常显示在页面中

    'value'=>'DateTime::createFromFormat("d#M#y H#i#s*A", $data["START_TIME"])-&g ...

  3. Yii 框架学习--02 进阶

    应用结构 入口文件 文件位置: web/index.php <?php //开启debug,应用会保留更多日志信息,如果抛出异常,会显示详细的错误调用堆栈 defined('YII_DEBUG' ...

  4. Yii的学习(4)--Active Record

    摘自Yii官网:http://www.yiiframework.com/doc/guide/1.1/zh_cn/database.ar 在官网原文的基础上添加了CDbCriteria的详细用法. 虽然 ...

  5. Yii的学习(2)--数据访问对象 (DAO)

    摘自Yii官网:http://www.yiiframework.com/doc/guide/1.1/zh_cn/database.dao Yii提供了强大的数据库编程支持.Yii数据访问对象(DAO) ...

  6. yii框架AR详解

    虽 然Yii DAO可以处理事实上任何数据库相关的任务,但很可能我们会花费90%的时间用来编写一些通用的SQL语句来执行CRUD操作(创建,读取,更新和删除). 同时我们也很难维护这些PHP和SQL语 ...

  7. Yii 1 数据库操作 笔记

    $result = array( 'id'=>null, 'val'=>0 ); $row1 = Yii::app()->db->createCommand()->ins ...

  8. yii快速入门与参考

    Yii 权威指南 http://www.yiichina.com/guide/ http://www.yiiframework.com/doc/guide/1.1/zh_cn/ Ⅰ.基本概念一.入口文 ...

  9. yii 笔记

    Yii1.1: $_GET 可以表示为 Yii::app()->request->getQuery() $_POST 可以表示为 Yii::app()->request->po ...

  10. Yii Framework2.0开发教程(5)数据库mysql性能

    继续<Yii Framework2.0开发教程(3)数据库mysql入门> 首先给予一定的尊重yii2数据库支持引进 Yii 基于 PHP's PDO一个成熟的数据库访问层的建立.它提供了 ...

随机推荐

  1. drop table后,约束会被删除吗?

    create table test1(id number); insert into test1 values(11);insert into test1 values(22);insert into ...

  2. Using Yocto Project with BeagleBone Black 英文版、Using Yocto Project with BeagleBone Black中文版

    Using Yocto Project with BeagleBone Black  手册英文版.中文版 https://market.m.taobao.com/app/idleFish-F2e/wi ...

  3. leetcode -- 旋转矩阵相关问题

    给定一个 n × n 的二维矩阵表示一个图像. 将图像顺时针旋转 90 度. 说明: 你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵.请不要使用另一个矩阵来旋转图像. 示例 1: 给定 m ...

  4. laravel关联查询

    1.创建表: -- 创建学生表 CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) C ...

  5. 遮罩DIV遮挡住下面元素 下面元素如何触发响应点击事件

    遮罩DIV{ pointer-events: none; }

  6. WPFprism框架

    1. Prism 简介Prism 是一个用于构建松耦合.可维护和可测试的 XAML 应用的框架,它支持所有还活着的基于 XAML 的平台,包括 WPF.Xamarin Forms.WinUI 和 ~~ ...

  7. iOS底层原理02-alloc源码分析

    首先,从最熟悉的入手 - 对象,看看这三个对象的内容,内存地址和指针地址. LGPerson *p1 = [LGPerson alloc];    LGPerson *p2 = [p1 init];  ...

  8. spring cloud 配置文件加密解密

    1.底包 <dependency>   <groupId>org.springframework.security</groupId>   <artifact ...

  9. vscode - plug - scss转css

    vscode - plug - scss转css 参考资料 sass笔记(完结)安装,使用,vscode中设置easy sass,嵌套,变量,混合,循环,分支 vscode配置 easy sass E ...

  10. bigdecimal 比较大小、bigdecimal 数学运算、bigdecimal 精度

    创建 BigDecimal 建议使用 public BigDecimal(String val),使用 number 参数可能会有精度问题 设置精度 setScale(3, BigDecimal.RO ...