问题描述
我正在尝试将 yii2-advanced 项目与 oracle 数据库连接,这是 common\main-local.PHP
中的“db”组件代码。
'db' => [
'class' => 'CDbConnection','dsn' => 'oci:dbname=127.0.0.1:1521/xyz;charset=UTF8','username' => 'xyz','password' => 'xyz',],
现在,如果我使用 'class' => "CDbConnection"
作为一个类,它会显示以下异常,
Not instantiable – yii\di\notinstantiableException
Failed to instantiate component or class "CDbConnection".
↵ Caused by: ReflectionException
Class CDbConnection does not exist
in C:\xampp\htdocs\ramisha\advanced\vendor\yiisoft\yii2\di\Container.PHP at line 507
我不知道为什么我的项目中缺少它。此外,如果我使用 'class' => 'yii\db\Connection'
,则在 db
组件内会显示以下错误:
Database Exception – yii\db\Exception
sqlSTATE[HY000]: pdo_oci_handle_factory: ORA-12541: TNS:no listener
(ext\pdo_oci\oci_driver.c:714)
↵
Caused by: PDOException
sqlSTATE[HY000]: pdo_oci_handle_factory: ORA-12541: TNS:no listener
(ext\pdo_oci\oci_driver.c:714)
in C:\xampp\htdocs\ramisha\advanced\vendor\yiisoft\yii2\db\Connection.PHP at line 712
使用 PDO 将 oracle 数据库连接到 yii2 项目时使用哪个类是正确的?
- 我检查了在 oracle 文件夹的子目录中缺少的 listener.ora 文件,它是必需的文件吗?
- 我已关注this guide 在oracle文件夹中设置instantclient_19_10,并将其设置为系统环境中的路径变量。
- 按照此 How to enable oci in xampp 5.6.3? 中的答案之一为 oci 驱动程序设置 PHP.INI 和 xampp 配置
- "PHP -m" 显示如下列表 [PHP 模块]
- bcmath
- calendar
- Core
- ctype
- curl
- date
- dom
- exif
- filter
- gd
- gettext
- hash
- iconv
- imap
- json
- libxml
- mbstring
- MysqLi
- MysqLnd
- openssl
- pcre
- PDO
- pdo_MysqL
- pdo_sqlite
- pdo_sqlsrv
- Phar
- readline
- Reflection
- session
- SimpleXML
- soap
- SPL
- sqlsrv
- standard
- tidy
- tokenizer
- wddx
- xml
- xmlreader
- xmlrpc
- xmlwriter
- zip
- zlib
问题究竟出在哪里,该怎么做?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)