YII 错误 SQLSTATE[HY000] [2002] No such file or directory

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了YII 错误 SQLSTATE[HY000] [2002] No such file or directory相关的知识,希望对你有一定的参考价值。

在使用yii的yii\db\Connnection时发生错误

<?php
namespace app\controllers;

use yii\web\Controller;
use yii\db\Connection;
use Yii;

class MyController extends Controller
{
    public function actionIndex()
    {
        $country = Yii::$app -> db -> createCommand("select * from country") -> queryAll();
        print_r($country);
    }
}

错误:

技术分享

解决方法:将config目录下的db.php配置文件中的localhost改为127.0.0.1即可

<?php

return [
    ‘class‘ => ‘yii\db\Connection‘,
    ‘dsn‘ => ‘mysql:host=localhost;dbname=yii‘,
    ‘username‘ => ‘root‘,
    ‘password‘ => ‘12‘,
    ‘charset‘ => ‘utf8‘,
];

当主机填写为localhost时mysql会采用 unix domain socket连接

当主机填写为127.0.0.1时mysql会采用tcp方式连接

这是linux套接字网络的特性,win平台不会有这个问题

  

以上是关于YII 错误 SQLSTATE[HY000] [2002] No such file or directory的主要内容,如果未能解决你的问题,请参考以下文章

YII2数据库操作出现类似Database Exception – yiidbException SQLSTATE[HY000] [2002] No such file or director

PDO 异常 SQLSTATE[HY000] [2002] Yii2 上的 Elastic Beanstalk 和 RDS 连接超时

Symfony 2 SQLSTATE [HY000] [2002] 连接被拒绝错误

SQLSTATE [HY000] [2002] 连接被拒绝 - 原因:PDOException [重复]

php dblib,错误:SQLSTATE[HY000] 未知主机名(严重性 2)

“SQLSTATE[HY000]: 一般错误” - 一条语句中有多个 SQL 查询