Message: mysqli::real_connect(): (HY000/2002): No such file or directory
CI突然出现这样的错误,数据库客户端能正常连接。
试过各种方法最后有些摸不着头脑地修复了问题。这里记录下解决过程,以免以后再犯。
- 查到又说是mysql的socket文件的问题,所以试着修改了php.ini里面的mysql,mysqli,pdo的socket文件为默认的/tmp/mysql.sock。brew安装的php默认配置文件路径为/usr/local/etc/php/7.0下面,而我修改的是位于/etc目录下复制出来的所谓的默认php.ini文件。问题修复后我删除了该php.ini 文件,程序运行正常,证明此方法无效。
kano@Mac /p/etc> cd /usr/local/etc/php/7.0/
kano@Mac /u/l/e/p/7.0> ls
conf.d php-fpm.conf.default php.ini
php-fpm.conf php-fpm.d redis.so
kano@Mac /u/l/e/p/7.0>
- 一说是删除/usr/data/mysql下面的数据,然后我在各种尝试无果后两次卸载了mysql。第二次卸载的原因是以为第一次卸载在/usr/local/var/mysql(brew安装的mysql配置目录)没有完全卸载。事实证明,逃避问题也不能奏效。重装后问题依旧。
kano@Mac /u/l/v/mysql> ls
Mac.err