infected windows logo Witam,

Jeśli masz problem z podłączeniem się do serwera MySQL w PHP plików oraz PHP / MySQL / Apache są ustawione poprawnie, ten post może rozwiązać prblem.

Kopiowanie problem:

Kiedy o mysql_connect () oświadczenie w ramach wykonywanego skryptu PHP - Twoja przeglądarka zawiśnie i po przekroczeniu limitu php (domyślnie 60 sekund) przekazać ten błąd zostanie wyświetlona w oknie przeglądarki:

PHP Warning: mysqli :: mysqli (): [2002] próba połączenia powiodła się, ponieważ połączona strona nie (próbuje łączyć się za pośrednictwem tcp :/ / localhost: 3306) w xxx.php on line 2

PHP Warning: mysqli :: mysqli (): (HY000/2002): próba połączenia powiodła się, ponieważ połączona strona nie prawidłowo reagować po czasie, lub połączenie, powiodło się, ponieważ połączony host nie odpowiedział.
w xxx.php on line 2

Spędziłem cały ranek próby ustawienia mojego serwera na nowym komputerze z systemem Windows Vista wydaje się, że cokolwiek zostało zmienione - PHP nie mógł połączyć się z MySQL.

Po przemyśleniu tego, co może powodować ten problem odkąd instalacji serwery internetowe od lat i nigdy nie stało - Spojrzałem na przyczynę problemu, który został ustalony jako mój OS, Windows Vista (Argh!).

(Następujące informacje zostały skopiowane z coreygilmore.com - dowiedzieć się tego rozwiązania miała naprawdę dużo czasu)

Błąd PHP # 45150 sugeruje, że jest to spowodowane kwestii rozwiązywania localhost w systemie Windows. Jest to częściowo prawdziwe, a dokładniej jest to problem z localhost rozwiązania do :: 1, gdy protokół IPv6 jest włączony.

Mimo to czuje się jak system Windows shoehorned w IPv6, wina zdaje się leżeć z MySQL, które nie obsługują IPv6 aż wersji 6.0 .

Nie wiem dlaczego czas oczekiwania nie jest natychmiastowy, port jest zamknięty, więc to może być częściowo problem z PHP lub Windows.

Fix

Otwórz %windir%\system32\drivers\etc\hosts w edytorze tekstu i zakomentować linię, która wygląda tak:

  :: 1 localhost 
  Poprzedzić je znakiem #, np. tak: 
  # :: 1 localhost 

Zapisz go i Twoi PHP / MySQL połączenia będą natychmiast rozpocząć pracę. Możesz również skorzystać z adresu 127.0.0.1 w ciągu połączenia zamiast localhost, ale nie chcę, aby zmienić kod w niezliczonych plików.

Jeśli masz problem z zapisaniem dokumentu (może to być spowodowane prawami administratora lub tylko do odczytu) tylko przenieść plik do innego katalogu (pulpicie) go zmodyfikować i skopiować go do katalogu etc.

Mam nadzieję, że to rozwiązanie pomogło,

Zasoby:

Nowy na PHP? rozpocząć naukę PHP z Plank Robert Łatwy ebook PHP .

Tagi: , , , , ,

Pozostaw odpowiedź

Możesz używać tych tagów: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime = ""> <em> ³ <q cite=""> <strike> <strong>