在使用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