簡體   English   中英

無法通過PHP連接到MySQL

[英]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");
?>
  • 我可以使用直接命令行將OK連接到MySQL數據庫,當然使用相同的登錄名/密碼。
  • 我可以使用相同的登錄名/密碼通過網絡訪問MySQL數據庫。
  • PHP正在工作( echo("hello world")確實有效)。
  • MySQL擴展在php.ini中啟用。 事實上,如果我禁用它,我會Call to undefined function mysql_connect()
  • Windows防火牆已禁用。
  • 沒有錯誤消息。 它只是沒有返回任何東西。 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM