在使用Yii2框架時遇到數據庫無法訪問的問題:
這個是由於 通常我們在參考 教程在 MAC OS LINUX下安裝 MYSQL 時,
默認將PHP.ini 中的以下三項留空導致的Yii2所需的PDO組建無法找到mysql.sock(或mysqld.sock)文件地址導致的
修改前:
mysql.default_socket =
pdo_mysql.default_socket=
mysqli.default_socket =
由於PHP默認使用/var/mysql/mysql.sock,但Mac版的MySQL把文件位置改到了/tmp,因此需要在對php.ini文件進行修改。
命令:sudo vi /etc/php.ini
以mysql.default_socket為例,如圖灰色光標位置找到配置行。
修改結果如下
把以下三個原來空白的值都設置為 /tmp/mysql.sock(或/tmp/mysqld.sock)具體位置請替換成你實際安裝mysql數據庫時的實際mysql.sock(或mysqld.sock)文件地址
修改后:
mysql.default_socket = /tmp/mysql.sock
pdo_mysql.default_socket= /tmp/mysql.sock
mysqli.default_socket =/tmp/mysql.sock
修改完成后,保存,並重啟Apache,命令:sudo apachectl restart