[英]Cannot connect to MySQL through PHP
看起来像一个初学者的问题,但我似乎无法弄清楚...
我有一个全新的Windows 7 x64 / Apache 2.2 / PHP 5.2 / MySQL 5 x64安装。
实际上我尝试了IIS和Apache。
但是这个PHP代码不起作用:
<?
$hostname = "localhost";
$username = "xxx";
$password = "xxx";
$db = mysql_connect($hostname,$username,$password) or die("die");
?>
echo("hello world")
确实有效)。 Call to undefined function mysql_connect()
。 没有错误消息。 它只是没有返回任何东西。 600秒后,它超时:
Fatal error: Maximum execution time of 60 seconds exceeded in C:\\Ampache\\try.php on line 6
任何线索?
等待等待......我想我发现了......
RTM他们说:-)这一切都在http://php.net/manual/fr/function.mysql-connect.php
:
Bruce Kirkpatrick - 2009年10月28日05:48:
在Windows Vista或更高版本中,Windows / System32 / drivers / etc / hosts文件中的条目导致与“localhost”的mysql_connect()连接超时并且永远不会连接。 这发生在php 5.3及更高版本上,因为它现在使用mysql本机驱动程序,与先前版本中的libmysql.dll相比,它已经改变了它的连接行为。 它不是PHP错误,但绝对是新Windows系统上用户的配置问题。要解决此问题,您必须删除以下条目:
:: 1 localhost并确保你仍然有:
127.0.0.1 localhost此外,您可以更改代码以连接到IP,但如果您有许多网站,这是不方便的。
在Windows Vista,Windows 7和Windows Server 2008上会出现此问题。
实际上它可以使用
$host = "127.0.0.1";
谢谢你的关注 !
在win7 / vista中很简单,就是localhost bug。 如果你使用computername而不是“localhost”它应该工作。
快乐的php'ing
如果你想让localhost工作,你可以在C:\\ Windows \\ System32 \\ drivers \\ etc中编辑你的主机文件,或者使用另一个dns
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.