在使用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平台不會有這個問題
