Windows 7, Apache 2, PHP 5, MySQL 5를 사용하고 있습니다. 모두 같은 컴퓨터에 있습니다.Windows 플랫폼에서 mysql_connect (localhost/127.0.0.1)이 느림
$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);
위의 코드의 실행 시간이 1 초 이상 : 나는 흥미로운 문제를 발견, 나는 다음과 같은 코드가 있습니다.
localhost
대신 127.0.0.1
을 사용하면 실행 시간은 약 10ms입니다.
하중. 물론 이것은 받아 들일 수없는 것이므로 문제를 추적해야했습니다. 결국 불쾌한 함수/메소드 pdo :: construct를 추적했습니다. 나는 또한 mysql_connect가 약 1 초가 걸렸다는 것을 발견했다. 약간의 인터넷 검색 후 나는 PHP가 IPv6에 문제가 있다는 설명을 발견했으며, IPv6를 비활성화하거나 연결을 할 때 ipaddress 127.0.0.1로 전환하여 문제를 해결할 수있었습니다.
저는 PHP에서 IPv6의 문제점이 무엇인지 궁금합니다. 좀 더 깊이 이해하고 싶습니다. 감사.
는 MySQL 서버가 :: 1에서 실행하고 있습니까? php가 아마도 ipv6를 통해 연결을 시도하고 실패 할 경우 ipv4로 다시 폴백합니다. 조금 더 오래 걸릴 것입니다. – konqi
죄송합니다. "당신의 mysql 서버가 실행 중입니까?"라는 것을 이해하지 못합니다. 방법? 그것은 같은 머신에서 여러 개의 mysql 서버를 돌리는 것을 의미합니까? –
고마워. 방금 localhost 대신 127.0.0.1을 사용하여 엄청나게 웹 사이트를 빠르게 만들었습니다. –