YII oracle
以 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的更多相关文章
- yii下使用oracle中文都变成问号乱码的解决方法
在配置文件中,一般会用以下配置: 'db_oracle'=>array( 'class' => 'CDbConnection', 'connectionString'=>'oci:d ...
- YII :将oracle中timestamp 字段正常显示在页面中
'value'=>'DateTime::createFromFormat("d#M#y H#i#s*A", $data["START_TIME"])-&g ...
- Yii 框架学习--02 进阶
应用结构 入口文件 文件位置: web/index.php <?php //开启debug,应用会保留更多日志信息,如果抛出异常,会显示详细的错误调用堆栈 defined('YII_DEBUG' ...
- Yii的学习(4)--Active Record
摘自Yii官网:http://www.yiiframework.com/doc/guide/1.1/zh_cn/database.ar 在官网原文的基础上添加了CDbCriteria的详细用法. 虽然 ...
- Yii的学习(2)--数据访问对象 (DAO)
摘自Yii官网:http://www.yiiframework.com/doc/guide/1.1/zh_cn/database.dao Yii提供了强大的数据库编程支持.Yii数据访问对象(DAO) ...
- yii框架AR详解
虽 然Yii DAO可以处理事实上任何数据库相关的任务,但很可能我们会花费90%的时间用来编写一些通用的SQL语句来执行CRUD操作(创建,读取,更新和删除). 同时我们也很难维护这些PHP和SQL语 ...
- Yii 1 数据库操作 笔记
$result = array( 'id'=>null, 'val'=>0 ); $row1 = Yii::app()->db->createCommand()->ins ...
- yii快速入门与参考
Yii 权威指南 http://www.yiichina.com/guide/ http://www.yiiframework.com/doc/guide/1.1/zh_cn/ Ⅰ.基本概念一.入口文 ...
- yii 笔记
Yii1.1: $_GET 可以表示为 Yii::app()->request->getQuery() $_POST 可以表示为 Yii::app()->request->po ...
- Yii Framework2.0开发教程(5)数据库mysql性能
继续<Yii Framework2.0开发教程(3)数据库mysql入门> 首先给予一定的尊重yii2数据库支持引进 Yii 基于 PHP's PDO一个成熟的数据库访问层的建立.它提供了 ...
随机推荐
- C++ primer 5th 第一章 开始 阅读笔记
第一章 开始 第一节 编写一个简单的C++程序 不同编译器使用不同的后缀命名约定,比如cc.cpp.c. 比如main程序保存到prog1.cc中,可以使用如下命令来编译它:cc prog1.cc.其 ...
- django限制表单上传图片的大小
django的ImageField没有提供控制上传图片的内置方法,我们可以在表单验证的过程中用clean函数来控制,搬运博客园 python小童鞋 ,可以通过重写ImageField的方法来控制上传图 ...
- 【TensorFlow】InternalError: Failed copying input tensor
TensorFlow-GPU 执行模型训练时报错: InternalError: Failed copying input tensor from /job:localhost/replica:0/t ...
- 用户警告:“importlib-metadata”版本与“setuptools”不兼容。升级importlib-metadata
Warning: `importlib-metadata` version is incompatible with `setuptools` 解决方案:升级 importlib-metadata 版 ...
- Vulnhub 靶场 DARKHOLE: 2
Vulnhub 靶场 DARKHOLE: 2 前期准备 前期准备: 靶机地址:https://www.vulnhub.com/entry/darkhole-2,740/ kali攻击机ip:192.1 ...
- 像MIUI一样做Zabbix二次开发(3)——Zabbix深度定制的意义
深度定制的意义 综合来讲,Zabbix是一个非常强大的监控平台,简单拿来完成监控一些Hosts,没有什么问题,而且,目前国内大部分客户都是这么做的,基本上是安装完后,网上找到一些相关模板,配置后把Ho ...
- 理解函数调用_arguments对象作为函数参数的别名
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- static有什么作用?
在C语言中,static主要定义全局静态变量,定义局部静态变量,定义静态函数 一. 定义全局静态变量 :在全局变量前面加上关键字static,该全局变量变成了全局静态变量.全局静态变量有以下特点: ( ...
- Unity Random
Random 不仅可以随机值,还可以随机其它属性,用了这么久,刚知道... 譬如: rotation 随机Rotation onUnitSphere 球体表面随机点 insideUnitCircl ...
- JS篇(006)-怎样添加、移除、移动、复制、创建和查找节点?
答案: 1)创建新节点 createDocumentFragment() //创建一个 DOM 片段 createElement() //创建一个具体的元素 createTextNode() //创建 ...