在使用yii的yii\db\Connnection時發生錯誤php
<?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); } }
錯誤:mysql
解決方法:將config目錄下的db.php配置文件中的localhost改成127.0.0.1便可linux
<?php return [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbname=yii', 'username' => 'root', 'password' => '12', 'charset' => 'utf8', ];
當主機填寫爲localhost時mysql會採用 unix domain socket鏈接web
當主機填寫爲127.0.0.1時mysql會採用tcp方式鏈接sql
這是linux套接字網絡的特性,win平臺不會有這個問題網絡