MySQL spricht nicht mehr mit PHP

1

Ich habe gerade ein Upgrade von Windows XP auf Windows 7 (64 Bit) durchgeführt.

Ich habe meine Website mit EasyPHP 5.3.1 entwickelt, aber seit dem Upgrade kann PHP nicht mehr mit MySQL kommunizieren.

Sogar die PHPMyAdmin-Seite wird nicht geladen.

Ich habe versucht, die neueste 64-Bit-Version von MySQL anstelle der mitgelieferten Version von MySQL zu installieren, aber das hat nicht geholfen.

Die Abfragen scheinen MySQL einfach nicht zu erreichen.

Ich habe überprüft, ob die Datenbank für meine Datenbank funktioniert, indem ich mysql in der Befehlszeile ausgeführt habe.

PHPMyAdmin zeigt keinen Fehler an, nur eine leere Seite.

Der von meiner Website ausgehende Fehler lautet:

Warnung: PDO :: __ construct () [pdo .-- construct]: [2002] Ein Verbindungsversuch ist fehlgeschlagen, da der verbundene Teilnehmer in E: \ services \ EasyPHP- keine Verbindung hergestellt hat (Versuch über tcp: // localhost: 3306). 5.3.1 \ www \ IdeaWeb \ classes \ Security.inc in Zeile 14

Schwerwiegender Fehler: Die maximale Ausführungszeit von 60 Sekunden wurde in E: \ services \ EasyPHP-5.3.1 \ www \ IdeaWeb \ classes \ Security.inc in Zeile 0 überschritten

Weiß jemand, wie man das löst? (zB MySQL mit PHP in Verbindung bringen.)

Matt Ellen
quelle

Antworten:

2

OK. Ich wusste das nicht, aber 127.0.0.1 und localhost sind unter Windows 7 nicht dasselbe.

Ich habe etwas tiefer gegoogelt und diesen Thread gefunden . Grundsätzlich heißt es, um localhost zu verwenden, müssen Sie es in der Hostdatei so einrichten, dass es auf 127.0.0.1 zeigt

Matt Ellen
quelle
1

Wie verweisen Sie auf den SQL-Dienst? Nach dem lokalen Computernamen "localhost", einem DNS-Namen, der auf den Computer verweist, einer IP-Adresse, die einer physischen Schnittstelle auf dem Computer zugeordnet ist, 127.0.0.1, ...?

Wenn Sie über irgendetwas mit dem SQL-Dienst sprechen, das extern aussehen könnte, ist die Windows-Firewall der häufigste Schuldige, die den Zugriff blockiert. Dies ist eine gute Sache (die Firewall sollte Dinge standardmäßig blockieren und nur dann Verbindungen zulassen, wenn Sie ausdrücklich dazu aufgefordert werden). Sie müssen sie nur anweisen, Ihre SQL-Verbindungen zuzulassen. Ich habe Windows 7 nicht verwendet, daher kann ich Ihnen nicht genau sagen, wie dies zu tun ist (die Dinge haben sich zweifellos zwischen den Versionen verschoben), aber es sollte nicht schwierig sein. Wenn Sie einen externen Namen / eine externe Adresse als Hostnamen für Verbindungen verwenden, verwenden Sie stattdessen einen explizit lokalen Namen (localhost, 127.0.0.1).

Als vorübergehende Maßnahme, um zu beweisen, dass die Firewall die Verbindung stoppt, bevor Sie Änderungen vornehmen, schalten Sie sie für eine Minute vollständig aus und versuchen Sie es erneut. Wenn PHP-> SQL mit deaktivierter Firewall arbeitet, muss Ihre Firewall-Konfiguration angepasst werden. Wenn dies weiterhin fehlschlägt, liegt das Problem an einer anderen Stelle.

David Spillett
quelle
Danke für die Idee. Ich habe die Firewall deaktiviert, erhalte aber immer noch das gleiche Ergebnis. MySQL wird mit den Standardeinstellungen (für EasyPHP) eingerichtet und die Verbindung erfolgt zu localhost.
Matt Ellen
0

geh dort hin

"Systemsteuerung >> System und Sicherheit >> Windows-Firewall >> Zulässige Programme oder ..."

Ok, jetzt überprüfe diese Optionen:

  1. BranchCache - Inhaltsabruf (Benutzer http)
  2. "" "" "" "" "" "- Hosted Cache Client (Benutzer https)
  3. "" "" "" "" "" "- gehosteter Cache-Server (Benutzer https)
  4. "" "" "" "" "" "- Peer Discovery (Benutzer wsd)

genießen: D

Jeff Atwood
quelle
0

Sie müssen lediglich die folgende Datei bearbeiten, wenn Sie über Administratorrechte verfügen

c: \ windows \ system32 \ drivers \ etc \ hosts

durch das Auskommentieren der Zeile, die sagt

127.0.0.1 localhost 

Speichern und aktualisieren Sie Ihre Seiten ....


quelle
0

Ich hatte dieses Problem.

So sollte es aussehen, wenn Sie Probleme haben:

<?php
$connect = mysql_connect('127.0.0.1','root','');
?>

Für weitere Informationen zu Ihrer MySQL-Datenbank klicken Sie mit der rechten Maustaste auf das ePHP-Symbol in Ihrer Symbolleiste und klicken Sie auf Admin ... -> Dann sollte sich eine neue Seite öffnen und auf mysql verwalten klicken. Hoffe das hilft.

Kyle
quelle