首页 > 数据库 > MySQL > 正文

mysql,mysqli,pdo方式连接数据库[no such file or directory]

2024-07-24 12:59:50
字体:
来源:转载
供稿:网友

问题描述

在air上,用MySQLi方式连接数据库就出现这个问题了,原来是mac系统配置MySQL环境的时候丢失系统的mysql.socket造成的,大概的意思就是。你用php连接MySQL的时候,需要一个mysql.socket文件,但是这个文件并没有能够正确的在你的php.ini文件中映射,路径不对,暂且这么理解吧,我不求甚解了。

环境

操作系统:mac os

解决方案

1、找到php.ini find / -name php.ini 2、然后找到pdo_mysql.default_socket,mysql.default_socket,mysqli.default_socket你会发现他们后面的值是空的,或者带有什么路径的值。 3、用phpinfo()函数查看扩展中pdo.mysql,mysqli中所用的mysql.sock连接是什么。跟第二部进行对比。 4、找到文件find / -name mysql.sock 然后你会发现这个mysql.sock的文件的位置就在 /PRivate/tmp/mysql.sock 。接着,我们把这个路径替换到第二步骤中那些socket连接后面去: pdo_mysql.default_socket=/private/tmp/mysql.sock mysql.default_socket = /private/tmp/mysql.sock mysqli.default_socket = /private/tmp/mysql.sock 当然,这个路径我只是示例,具体看你服务器上的mysql.sock文件到路径位置了。 5、重启Apache服务器:sudo /usr/sbin/apachectl restart 来刷新php.ini文件。 6、验证,再次使用phpinfo()函数输出,查看上面提到的几个值,看看是否有了变化。 7、开始连接,可以参考我的mysqli连接MySQL的文章。现在就不会报错了

虽然问题解决了,但是对mysq.sock文件和php.ini文件,还有众多配置的问题不是真的弄懂。先记录一下吧。QAQ


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表