gpt4 book ai didi

php - 从 PHP (5.3.6-8) 访问 MySQL (5.5.17) 时出现 "getaddrinfo failed..."错误

转载 作者:行者123 更新时间:2023-11-29 07:04:44 26 4
gpt4 key购买 nike

我是一个完全的初学者,在尝试以大多数教程使用的方式连接到我的第一个真正的 MySQL 数据库时:

$connect = mysql_connect("localhost","user","pass")

我收到以下错误:

php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known

我在互联网上搜索过,但人们似乎只是在尝试使用 fopen() 或类似的东西访问远程文件的内容时才会遇到这个问题。我发现他们的解决方案在这里不适用。我认为它与不正确的配置有关?

就上下文而言,我正在运行 OS X 并从官方软件包安装程序安装了 MySQL。我当时使用的是 OS X 版本的 PHP (5.3.6),但一气之下,我从 http://php-osx.liip.ch/ 安装了这个包。 .它没有帮助,但错误消息的格式更漂亮!

编辑:我确实有一个变通解决方案,但由于是新用户,我不能在 8 小时内发布它。我会尽快发布。谢谢!

最佳答案

我找到了一个解决方案,但我不太清楚它为什么有效。希望它对某人有所帮助:

首先,我必须编辑 php.ini 以将它寻找 MySQL 的 sock 文件(“/var/mysql/mysql.sock”)的位置更改为 OS X 包安装程序实际放置它的位置(“/tmp/mysql.sock”)。短袜”)。这没有用,但无论如何这可能是一件好事。

然后,我尝试直接连接到那个 sock 文件,而不是通过“localhost”连接到 MySQL。喜欢:

$connect = mysql_connect(":tmp/mysql.sock","username","pass")

“localhost”隐含在上面的例子中。有效!我不知道为什么,似乎我不应该在每次连接时都指定 sock 文件,但它确实有效。

更新:重新启动一切(Apache、mysqld、计算机本身)后,我不再需要指定 sock 文件。我可以只使用“本地主机”。我想这意味着问题只是 php.ini 中的那一行,但如果是这样的话,这个错误消息似乎应该更常见,因为很多 OS X 用户都使用那个 MySQL 包安装程序。无论如何,希望这会有所帮助。

关于php - 从 PHP (5.3.6-8) 访问 MySQL (5.5.17) 时出现 "getaddrinfo failed..."错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8010927/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com