Ich bin neu bei CakePHP und laufe gerade durch den Konfigurationsprozess, aber ich bin überrascht, warum Cake nicht auf meine MySQL-Datenbank zugreifen kann. Die Cake-Infoseite sagt, dass mein tmp-Verzeichnis beschreibbar ist, die FileEngine wird zum Caching verwendet (weiß nicht, was das bedeutet), und meine Datenbankkonfigurationsdatei ist vorhanden, aber CakePHP kann keine Verbindung zur Datenbank herstellen.
Hier sind meine Setup-Details:
Hier sind die Schritte, die ich durchlaufen habe:
Hier sind die relevanten Konfigurationsdaten aus der Datenbank.php:
%Vor% Fehle ich hier etwas? Ich sollte auch erwähnen, dass, wenn ich ein echo mysql_error();
direkt in die Datei /cake/libs/view/pages/home.ctp einfüge, bevor es die Datenbankverbindung testet, der angezeigte Fehler "Keine solche Datei oder Verzeichnis" ist. Ich habe keine Ahnung, um welche Datei oder welches Verzeichnis es sich handelt.
Danke!
Wenn es sich um den Socket handelt, editieren Sie einfach /etc/php.ini, um folgendes zu reflektieren:
%Vor%und
%Vor%Was mich normalerweise beißt, ist, dass MySQL von 'localhost' als 'Verbindung durch den Unix-Socket' und '127.0.0.1' durch TCP-Port verbinden 'denkt. Mit Dingen wie XAMPP (zumindest auf Mac) ist die Unix-Socket-Datei nicht da. Verwenden Sie stattdessen 127.0.0.1 .
%Vor%Sollte die ganze Zeit funktionieren.
Ich glaube, Sie können auch Folgendes tun
%Vor%Dies bedeutet möglicherweise, dass Sie die Datei "datenbank.php" bearbeiten müssen, wenn Sie auf den Produktionsserver gehen.
überprüfe deine phpinfo und benutze den aufgelisteten Socket. das hat für mich funktioniert.
Unter Ubuntu funktioniert das nicht, wenn Sie sowohl die Version 7.0 als auch die Version 5.6 von PHP installiert haben.
Sie müssen wechseln, wenn Sie beide Versionen haben:
Schauen Sie zuerst, wenn es 7.0 Version ist: der Befehl ist php -v
.
Als nächstes
%Vor%Tags und Links php mysql macos cakephp osx-snow-leopard