问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

cdb connection连接数据库失败 什么原因

发布网友 发布时间:2022-04-07 07:07

我来回答

4个回答

懂视网 时间:2022-04-07 11:28

首先,先来看一下问题代码:

1、控制器代码如下:

 public function actionIndex()
 {
 $query = Country::find();
 
 $pagination = new Pagination([
  'defaultPageSize' => 5,
  'totalCount' => $query->count()
 ]);
 
 $countries = $query->orderBy('name')
  ->offset($pagination->offset)
  ->limit($pagination->limit)
  ->all();
 
 return $this->render('index', [
  'countries' => $countries,
  'pagination' => $pagination,
 ]);
 }

(推荐教程:yii框架)

2、数据库配置文件db.php代码如下:

<?php
 
return [
 'class' => 'yiidbConnection',
 'dsn' => 'mysql:host=localhost;dbname=yii2basic',
 'username' => 'root',
 'password' => '',
 'charset' => 'utf8',
 
 // Schema cache options (for production environment)
 //'enableSchemaCache' => true,
 //'schemaCacheDuration' => 60,
 //'schemaCache' => 'cache',
];

解决方法:

将PDO连接中的dsn的host由“localhost”改为“127.0.0.1”即可,打开文件DB.PHP,修改如下:

<?php
 
return [
 'class' => 'yiidbConnection',
 'dsn' => 'mysql:host=127.0.0.1;dbname=yii2basic',
 'username' => 'root',
 'password' => '',
 'charset' => 'utf8',
 
 // Schema cache options (for production environment)
 //'enableSchemaCache' => true,
 //'schemaCacheDuration' => 60,
 //'schemaCache' => 'cache',
];

更多编程相关内容,请关注Gxlcms编程入门栏目!

热心网友 时间:2022-04-07 08:36

先将yii框架的debug模式打开,
[root@xyhz /xyhz/bugfree3.0.3 ]#vim index.php
<?php
// change the following paths if necessary
$yii=dirname(__FILE__).'/lib/yii.php';
$config=dirname(__FILE__).'/protected/config/main.php';
if(!file_exists($config))
{
header( 'Location: install' ) ;
}
// remove the following lines when in proction mode
defined('YII_DEBUG') or define('YII_DEBUG',true);
// specify how many levels of call stack should be shown in each log message
defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL',3);
require_once($yii);
Yii::createWebApplication($config)->run();

然后你会看到一些报错:如下:
CDbConnection 无法开启数据库连线: SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
/xyhz/bugfree3.0.3/lib/db/CDbConnection.php(364)352 throw new CDbException(Yii::t('yii','CDbConnection.connectionString cannot be empty.'));
353 try
354 {
355 Yii::trace('Opening DB connection','system.db.CDbConnection');
356 $this->_pdo=$this->createPdoInstance();
357 $this->initConnection($this->_pdo);
358 $this->_active=true;
359 }
360 catch(PDOException $e)
361 {
362 if(YII_DEBUG)
363 {
364 throw new CDbException(Yii::t('yii','CDbConnection failed to open the DB connection: {error}',
365 array('{error}'=>$e->getMessage())),(int)$e->getCode(),$e->errorInfo);
366 }
367 else
368 {
369 Yii::log($e->getMessage(),CLogger::LEVEL_ERROR,'exception.CDbException');
370 throw new CDbException(Yii::t('yii','CDbConnection failed to open the DB connection.'),(int)$e->getCode(),$e->errorInfo);
371 }
372 }
373 }
374 }
375376 /**
重点是在: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)这句话了,这说明你的mysql不是默认安装的,这时你在做个软链接过去就行了

热心网友 时间:2022-04-07 09:54

贴出链接数据库的代码看看 你是怎么链接的

热心网友 时间:2022-04-07 11:29

能贴出你连接数据库的代码么?连接数据库失败的原因可能很多种,得看你代码
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
求大学生谈恋爱的各种弊端 大学生恋爱的利大于弊吗? 大学生谈恋爱的弊处 dnf现在站街16000的物攻 增加100物攻能张多少 家里养的蚕宝宝是要蜕皮了吗 富贵包硬和软的区别 【已完成】为什么腋窝突然有异味? 女生为什么有狐臭症状? 为什么会狐臭 万视宝这个牌子是做什么的?有人了解嘛? 4只万向轮工作车为什么跑偏 婴儿车前轮转向不灵了怎么办,可以修吗? 自行车的前轮转动不灵活该怎么调动? yii操作数据库失败,请高手指点 关于淘宝助理4.4.03怎么批量编辑宝贝描述? 淘宝助理 批量编辑宝贝 怎么用不了? 如何使用淘宝助理发布宝贝批量编辑宝贝 求米佩婷全集 amigo21@163.com 淘宝如何批量编辑宝贝 用魔棒工具反选后,怎么还有一个框啊?怎么去掉? 怎么利用魔棒工具抠图 CDR怎么用魔棒工具快速删除颜色 为什么用魔棒工具选择出来的图片背景按DELETE键无法删除 魔棒工具选了范围后,怎么删除 虎牙各级牌子颜色 虎牙15升16级牌子要多少 在线水位监测预警系统都有那些品牌? 水位自动报警器的原理图 消防水箱及水池的水位是怎么报警的 水位监测报警系统能解决哪些问题? yii框架 CDbConnection failed to open the DB connection 数据库 链接 失败 捷达出租车双燃料车按上解码器还不行是啥原因 捷达va3改装大灯需要解码器吗? 捷达曲轴传感器坏了解码器能读出故障吗吗汽车还能开吗 17款捷达换装德赛西威152主机需要解码器吗 19款捷达 CD机上的解码器在哪? 捷达车的解码器插头有好多地方可以告诉我吗怎么一个车我都找了怎么都找不到啊 大众捷达插上解码器就熄火是怎么回事 09年捷达防盗锁死,匹配芯片登录仪表系统进不去模式 汽车空调中控(捷达)坏了,装了后要解码,在哪里解,是在车载电脑上解码吗?还是怎样解码?如果能解码, 市面上那个解码器或者仪器可以做新捷达调校里程 新款捷达用什么解码器消故障码 捷达伙伴改疝气等需要解码器吗 请问那里可以买到大众捷达氧化传感解码器 文科生怎样学好高中数学? 大众捷达防盗器锁了怎么可以手动解锁 高中文科如何更好学数学? 捷达汽车钥匙匹配方法 07款捷达钥匙如何匹配!!!??? 怎样学好高中文科数学提高数学成绩的方法