Als je met problemen verbinding maken met uw MySQL server binnen uw PHP-bestanden en je PHP / MySQL / Apache zijn setup goed, kan dit bericht het oplossen van uw prblem.
Het reproduceren van het probleem:
Bij het hebben van een mysql_connect () statement binnen een PHP-script uitgevoerd - uw browser zal blijven hangen en na de time-out php (standaard is 60 seconden) langs deze fout wordt weergegeven in uw browser venster:
PHP Warning: mysqli :: mysqli (): [2002] Een verbindingspoging is mislukt omdat de aangeslotene niet (verbinding probeert te maken via tcp :/ / localhost: 3306) in xxx.php op lijn 2
PHP Warning: mysqli :: mysqli (): (HY000/2002): Een verbindingspoging is mislukt omdat de verbonden party niet correct heeft geantwoord na een periode van tijd, of de gemaakte verbinding is mislukt omdat de verbonden host niet heeft om te reageren.
in xxx.php op lijn 2
Ik heb besteed de hele ochtend proberen om mijn webserver in te stellen op deze nieuwe pc met Windows Vista, lijkt het erop dat wat er ook was veranderd - PHP kon geen verbinding maken met MySQL.
Na te denken wat er kan dit probleem veroorzaken sinds ik de installatie van webservers al jaren en dit is nooit gebeurd - ik keek naar de oorzaak van het probleem, dat bleek te zijn mijn OS, Windows Vista (Argh!).
(De volgende informatie is overgenomen uit coreygilmore.com - het vinden van deze oplossing was een hele lange tijd)
PHP bug # 45150 suggereert dat dit te wijten is aan het oplossen van problemen localhost op Windows. Dit is gedeeltelijk juist, meer in het bijzonder het is een probleem met het oplossen van localhost naar :: 1 wanneer IPv6 is ingeschakeld.
Hoewel het voelt alsof Windows heeft shoehorned in IPv6-ondersteuning, de schuld lijkt te liggen met MySQL, die niet zal ondersteunen IPv6 tot versie 6.0 .
Ik weet niet zeker waarom de time-out is niet direct, de poort gesloten is, dus het zou gedeeltelijk een probleem met PHP of Windows.
De Fix
Open %windir%\system32\drivers\etc\hosts met een tekst editor en commentaar van de regel dat er uit ziet:
:: 1 localhost Vooraf laten gaan door een #, als volgt:
# :: 1 localhost
Sla het op en je PHP / MySQL verbindingen zal onmiddellijk beginnen te werken. U kunt ook gebruik maken van 127.0.0.1 in je connectie string in plaats van localhost, maar ik had geen zin om code te wijzigen in talloze bestanden.
Als je problemen hebt het opslaan van het document (dit kan zijn omdat de administrator rechten of alleen lezen) maar verplaats het bestand naar een andere map (uw bureaublad) wijzigen en terug kopiëren naar je etc directory.
Ik hoop dat deze oplossing geholpen,
Bronnen:
Nieuw in PHP? beginnen met het leren PHP met Gemakkelijk Robert Plank's PHP e-boek .
Tags: cant connect mysql , mysql connectie time-out , PHP , php fouten , php mysql fout , vista localhost




































