一:先Composer引入oracle扩展
https://blog.youkuaiyun.com/wq57885/article/details/80868732
二:然后在项目跟目录,extend目录下新建zoracle目录,在目录里新建Connection.php文件
extend/zoracle/Connection.php
复制如下代码进去
<?php
/**
* Created by zysc.
* V 28002
* clob纠错
*/
namespace zoracle;
use think\oracle\Connection as BaseConnection;
/**
* Oracle数据库驱动
*/
class Connection extends BaseConnection
{
/**
* 获得数据集数组
* @access protected
* @param bool $pdo 是否返回PDOStatement
* @param bool $procedure 是否存储过程
* @return PDOStatement|array
*/
protected function getResult($pdo = false, $procedure = false)
{
if ($pdo) {
// 返回PDOStatement对象处理
return $this->PDOStatement;
}
if ($procedure) {
// 存储过程返回结果
return $this->procedure();
}
$result=[];
while ($row = $this->PDOStatement->fetch($this->fetchType)){
self::res2str($row);
$result[]= $row;
}
$this->numRows = count($result);
return $result;
}
private static function res2str(&$res){
if(is_array($res)){
foreach ($res as $key=>&$value) {
self::res2str($value);
}
}else if(is_resource($res)){
$res=stream_get_contents($res);
}
}
}
三:项目根目录下application/database.php
把type改为\zoracle\Connection
搞定以后clob再也不会出现resource id的问题