Ich verwende PHP 5.5 und MAMP (heruntergeladen von hier ):
Ich habe ein grundlegendes Skript wie dieses:
<?php
$servername = "127.0.0.1";
$username = "root";
$password = "root";
// Create connection
$conn = mysqli_connect($servername, $username, $password);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
?>
und wenn ich dieses Skript starte, erhalte ich diesen Fehler:
PHP Warning: mysqli_connect(): (HY000/2002): Connection refused in /Applications/MAMP/htdocs/test/test.php on line 7
Gibt es ein Konfigurationsproblem, das ich in MAMP oder PHP einrichten muss?
Falls jemand anderes von diesem Problem betroffen ist, ist der Standardport auf MAMP für mysql 8889
, aber der Port, den php für mysql erwartet, ist 3306
. Sie müssen also MAMP öffnen, zu den Einstellungen wechseln und den MAMP-Mysql-Port in 3306
ändern, dann den Mysql-Server neu starten. Nun sollte die Verbindung mit Host = localhost, user = root, pass = root erfolgreich sein.
Manchmal müssen Sie die mysql-db-Port-ID auf diese Weise in den Server aufnehmen.
$serverName = "127.0.0.1:3307";
Damit es wieder funktioniert, habe ich die Dateien gelöscht
ib_logfile0
und
ib_logfile1
.
von :
/Applications/MAMP/db/mysql56/ib_logfile0
Mac 10.13.3
MAMP: Version 4.3 (853)
In meinem Fall habe ich XAMPP verwendet und es gab ein Protokoll, das mir den Fehler mitteilte. Um es zu finden, gehen Sie zur XAMPP-Systemsteuerung und klicken Sie auf "Konfigurieren" für MySQL und dann auf "Protokoll öffnen".
Die aktuellsten Daten des Protokolls befinden sich unten, und das Protokoll ist nach Datum, Uhrzeit, Anzahl und Text in Klammern sortiert, die möglicherweise "Hinweis" oder "Fehler" enthalten. Einer, der "Fehler" sagt, ist wahrscheinlich die Ursache des Problems.
Für mich war mein Fehler ein Tablespace, der ein Problem verursachte, sodass ich die Datenbankdateien am angegebenen Speicherort löschte.
Hinweis: Die Tablespace-Dateien für Ihre Installation von XAMPP befinden sich möglicherweise an einem anderen Speicherort, befinden sich jedoch in /opt/lampp/var/mysql
für mich. Ich denke, das ist typisch für XAMPP auf Debian-basierten Distributionen. Außerdem können meine Anweisungen zum Klicken auf das Kontrollfeld zum Anzeigen des Protokolls für Sie etwas anders sein, da ich XAMPP auf einer Ubuntu-basierten Linux-Distribution (Feren OS) ausführe.
Sie müssen den Mamp Mysql Database-Port in 8889 ändern.