当前位置: 首页 > 面试题库 >

警告:PDO :: __ construct():[2002]在以下目录中没有这样的文件或目录(试图通过unix:///tmp/mysql.sock连接)

公羊涛
2023-03-14
问题内容

我的代码昨天运行良好,今天突然不希望连接到我的数据库。我没有更改任何设置,也没有更改代码,也没有更新任何软件。我要做的就是:

new PDO('mysql:host=localhost;port=3306;dbname=test', 'username', 'password');

而且我收到一条很好的异常消息,上面写着:

警告:PDO :: __
construct():[2002]在…中没有这样的文件或目录(试图通过unix:///tmp/mysql.sock连接)。

问题是:我显然不是在尝试使用UNIX套接字进行连接,而是在使用TCP / IP。我究竟做错了什么?我在这里想念什么吗?

谢谢你的帮助。


问题答案:

您正在使用Unix套接字。在读取“ localhost”时,MySQLhtml" target="_blank">客户端库不会将其解释为TCP主机“
localhost”并解析该名称,而是使用默认的Socket位置。为了在本地计算机上使用TCP,您必须127.0.0.1用作主机名。

指定过去的用法,unix_socket而不是host在DSN中。用于插座的位置localhost可以在编译时或在使用PHP的一些版本中定义pdo_mysql.default_socketphp.ini



 类似资料:
  • 问题内容: 我正在尝试在Mac上安装香草论坛,为此,我刚刚从MySQL命令行创建了一个数据库和一个用户: 因此,我尝试使用以下代码进行连接: 但不幸的是,我收到一条错误消息 警告:mysqli_connect():(HY000 / 2002):在第3行的/Users/kramer65/Sites/vanilla/info.php中没有这样的文件或目录无法连接到MySQL:没有这样的文件或目录 知道

  • 我试图在我的Mac上安装vanilla forums,为此我刚从MySQL命令行创建了一个数据库和一个用户: 所以我尝试使用以下代码进行连接: 但不幸的是,我有一个错误说 警告:mysqli_connect():(HY000/2002):第3行/users/kramer65/sites/vanilla/info.php中没有这样的文件或目录无法连接到mysql:没有这样的文件或目录 知道我哪里错了

  • 问题内容: 我正在尝试安装berta(v 0.6.3b),但出现此错误: 警告:session_start()[function.session-start]:打开(/ var / php_sessions / sess_a0d6b8422181739d10066fb60cebfe5d,O_RDWR)失败:/hermes/bosweb/web010/b100/ipg.ellieniemeyerco

  • 问题内容: 我相信我已经将我的(非常基本的)站点成功部署到了fortrabbit,但是一旦我连接到SSH以运行一些命令(例如或),我就会收到一条错误消息: 在某个时候,迁移肯定已经成功了,因为我的表在那里-但这不能解释为什么它现在对我不起作用。 问题答案: 错误消息表明尝试了通过套接字的MySQL连接(不支持)。 在Laravel(工匠)的背景下,您可能想要使用其他/正确的环境。例如:(或任何环境

  • 我相信我已经成功地将我的(非常基本的)站点部署到fortrabbit,但是一旦我连接到SSH运行一些命令(如或),我就会出错留言: 在某种程度上,迁移肯定是有效的,因为我的表就在那里——但这并不能解释为什么它现在对我不起作用。

  • 问题内容: 我正在尝试设置WordPress。我已经运行了Apache和MySQL,并且帐户和数据库都已设置好。我试图建立一个简单的连接: 而且我总是这样: 错误:2002年-没有这样的文件或目录 它可以谈论什么文件或目录? 我在使用内置Apache的OS X Snow Leopard。我使用x86_64 dmg安装了MySQL。 更新:我发现套接字位于/tmp/mysql.sock,因此在php