【问题标题】:MySQL Can't connect to server on localhost with PHPMySQL无法使用PHP连接到本地主机上的服务器
【发布时间】:2012-04-02 22:36:01
【问题描述】:

我使用的是 XAMPP 1.7.2,可以通过 cmd 和 SQLYog 连接到 MySQL,但不能以编程方式。

此 PHP 代码:

$conn = mysql_connect('localhost', 'root', '*****');
    if (!$conn) {
    die('Could not connect: '. mysql_error());
}

给我:

mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'localhost' (10013) in C:\test\login.php on line 10
Could not connect: Can't connect to MySQL server on 'localhost' (10013) 

如何调试这个问题?

【问题讨论】:

  • 尝试连接的代码在哪里?
  • 编辑问题添加数据库连接代码
  • 尝试定义端口... localhost:10013
  • 默认root没有密码,需要单独启动MySQL服务器。
  • @phpmeh 你能否详细说明“尝试定义端口”

标签: php mysql xampp


【解决方案1】:

您的连接显示错误 #10013。这基本上是防火墙问题或套接字错误。也许您的 mysql 设置不在默认端口上? (即 3306)

【讨论】:

  • 默认端口(3306)
【解决方案2】:

这可能是对您问题的提示。不确定是不是。在下面的帖子中,我读到您的防火墙可能会阻止您的连接。尝试禁用防火墙并查看是否可以连接。如果可以,请以不同方式配置防火墙。

参考 http://forums.mysql.com/read.php?10,152798

【讨论】:

  • 你试过用 127.0.0.1 代替 localhost 吗?
  • 是的,我尝试过使用 127.0.0.1 而不是 localhost,我还尝试过通过驱动程序/etc/hosts 文件使用不同的主机名
【解决方案3】:

有时 127.0.0.1 会代替 localhost 工作。相同的位置,只是对它的不同引用。

要检查的基本事项是所有登录凭据是否正确。有正确的用户/通行证/dbName?

【讨论】:

  • 是的,user/pass/dbname 是正确的,我可以使用相同的凭据通过 cmd 访问该数据库
  • 好的,我已经弄清楚了...抱歉发布晚了...这是由于 mysql 服务之一在后台运行...我在删除以前的 mysql 实例之前安装了 xampp。我从我的机器上删除了所有 mysql 实例,然后安装了 XAMPP,它现在工作得很好:)
猜你喜欢
  • 2022-12-14
  • 1970-01-01
  • 2013-04-22
  • 2018-06-10
  • 2015-02-12
  • 1970-01-01
  • 2016-02-19
  • 1970-01-01
  • 2021-08-04
相关资源
最近更新 更多