我使用的是Windows 7,Apache 2,PHP 5,MySQL 5,它们都在同一台机器上.我发现了一个有趣的问题,我有以下代码:
$sql = "select * from user1";
$conn = mysql_connect("localhost", "root", "xxxxxxxx");
mysql_select_db("test1");
mysql_query("set names utf8");
$result = mysql_query($sql, $conn);
while ($row = mysql_fetch_assoc($result)){
foreach ($row as $key => $value){
echo $key." => ".$value." || ";
}
echo "<br/>";
}
mysql_free_result($result);
mysql_close($conn);
Run Code Online (Sandbox Code Playgroud)
上述代码的运行时间超过1秒.
当我使用127.0.0.1而不是时localhost,运行时间约为10毫秒.
我试图在互联网上找到根本原因,结果如下:
我最近将我的开发从XP迁移到Windows 7,发现我开发的网页需要5秒钟才能加载.这当然是不可接受的,所以我不得不追查问题.我最终追踪了有问题的函数/方法pdo :: construct.我还发现mysql_connect大约需要1秒才能建立连接.经过一番谷歌搜索后,我发现一个解释说明php存在IPv6问题,你可以通过在建立连接时禁用IPv6或切换到ipaddress 127.0.0.1来解决问题.
我想知道PHP上的IPv6问题是什么,只是想深入了解.谢谢.