apaoww/yii2-oci8
Yii2的Oci8 PDO用户空间驱动程序
2.0.4
2023-09-07 09:15 UTC
Requires
- yiisoft/yii2: ~2.0
README
这个库基于支持PHP 8.2的yajra/pdo-via-oci8版本3。
安装
使用Composer安装
安装此扩展的首选方式是通过composer。
运行以下命令之一:
php composer.phar require apaoww/yii2-oci8 "dev-master"
或者
"apaoww/yii2-oci8": "dev-master"
将以下内容添加到您的composer.json
文件的require部分。
或者从存档安装
您还可以从存档安装。在配置文件中添加别名,使其指向文件夹
return [
...
'aliases' => [
'@apaoww/oci8' => 'path/to/your/extracted',
...
]
];
用法
扩展安装后,只需修改您的应用程序配置文件main-local.php,如下所示:
return [
'components' => [
....
'db' => [
'class' => 'apaoww\oci8\Oci8DbConnection',
'dsn' => 'oci:dbname=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))(CONNECT_DATA=(SID=xe)));charset=AL32UTF8;',
'username' => 'yourdatabaseschemaname',
'password' => 'databasepassword',
'enableSchemaCache' => true, //increase performance when retrieved table meta data
'schemaCacheDuration' => 3600,
'schemaCache' => 'cache',
'on afterOpen' => function($event) {
/* A session configuration example */
$q = <<<SQL
begin
dbms_session.set_role('NAME_OF_YOUR_ROLE_IN_ORACLE');
EXCEPTION -- exception handlers begin
WHEN OTHERS THEN -- handles all other errors
ROLLBACK;
end;
SQL;
$event->sender->createCommand($q)->execute();
},
// To convert column name to lower case
'schemaMap' => ['oci' => 'apaoww\oci8\ESchemaOci',],
'attributes' => [
// PDO::ATTR_STRINGIFY_FETCHES => true,
PDO::ATTR_CASE => PDO::CASE_LOWER,
],
],
],
];