Ich habe versucht, Laravel 5.1 auf OSX Yosemite mit MAMP zu installieren, und bin dabei auf ein paar Straßensperren gestoßen. Beim Versuch, die Datenbank zu migrieren, wurde folgende Fehlermeldung ausgegeben.
[PDOException] SQLSTATE[HY000] [2002] No such file or directory
Wenn Sie Composer noch nicht installiert haben, müssen Sie dies tun. Sie können das Wetter testen, auf dem Composer installiert ist, indem Sie einfach den Befehl composer
in das Terminal von Mac eingeben. Sie sollten eine Liste der verfügbaren Befehle anzeigen, wenn Composer installiert ist.
Wenn Sie Composer noch nicht installiert haben, sehen Sie Erste Schritte mit Composer
Laravel verfügt über eine gute Dokumentation in Installation von Laravel }. Ich gehe genau durch, welche Schritte ich unternommen habe, um Laravel unter OSX Yosemite zum Laufen zu bringen.
Installieren Sie über das Installationsprogramm Laravel. Geben Sie Folgendes in das Terminal ein.
cd ~/
composer global require "laravel/installer=~1.1"
Fügen Sie die ausführbare Composer-Datei der Path-Umgebung hinzu, damit die ausführbare Datei laravel
gefunden werden kann.
PATH=$PATH:~/.composer/vendor/bin
Installieren Sie eine neue Instanz Laravel und geben Sie ihr einen Namen. In unserem Fall nennen wir das Projekt saas.
laravel new saas
Ich verwende MAMP PRO , um Sites lokal auf meinem Mac auszuführen. Ich muss also nur einen neuen Host in MAMP erstellen und auf das Verzeichnis saas/public verweisen.
Wenn Sie dann http: // saas: 8888 besuchen, wird Ihnen der schöne Willkommensbildschirm von Laravel angezeigt.
Ich verwende gerne Navicat , um meine Datenbanken zu verwalten. Mit Navicat for MySQL erstelle ich eine neue lokale Datenbank.
Definieren Sie dann die Verbindung in der .env
-Datei.
DB_Host=localhost
DB_DATABASE=saas
DB_USERNAME=root
DB_PASSWORD=xxxxxxx
Die lösen die Migration mit folgendem Befehl aus:
php artisan migrate
Da ich MAMP verwende, habe ich diese Fehlermeldung beim Migrieren erhalten.
[PDOException]
SQLSTATE [HY000] [2002] Keine solche Datei oder Verzeichnis
Lösung war addieren Sie den unix_socket
-Schlüssel mit einem Wert des Pfads, den sich die mysql.sock in MAMP befindet .
'mysql' => [
'driver' => 'mysql',
'Host' => env('DB_Host', 'localhost'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock',
],
Verzeichnisse im Speicher und in den Bootstrap-/Cache-Verzeichnissen sollten beschreibbar sein. Wir machen das mit dem Folgenden?
chmod -R 777 storage
chmod -R 777 bootstrap/cache
Benennen Sie die Umgebungsdatei um.
mv .env.example .env
Seitdem MAMP verwendet wurde, haben wir mehrere Versionen von PHP auf unserer Maschine installiert. Wenn wir also versuchen, php artisan
auszuführen, wird ein Fehler ausgegeben.
Mcrypt PHP extension required
Wenn Sie auch diese Fehlermeldung erhalten, prüfen Sie zunächst, welche Version von PHP Sie mit MAMP verwenden. Sie können dies über MAMPs Hauptfenster> PHP überprüfen. In meinem Fall wurde Version 5.6.10
verwendet.
Dann können wir unsere ~/.bash_profile
-Datei bearbeiten, indem Sie die folgende Zeile hinzufügen:
export PATH=/Applications/MAMP/bin/php/php5.6.10/bin:$PATH
Starten Sie das Terminal neu und Sie sollten dann den Befehl php artisan
ausführen können.
Und das ist es. Schaffe etwas Tolles!
Das Hinzufügen einer lokalen Konfiguration zu einer Datei wie config/database.php schien mir falsch zu sein, da Änderungen daran auch in ein Git-Repo hochgeladen würden.
Ich habe diese andere Lösung gefunden, die auch ohne Codeänderung funktioniert:
mkdir /var/mysql
ln -s /Applications/MAMP/tmp/mysql/mysql.sock /var/mysql/mysql.sock
Dies funktionierte sofort und es wurden keine Änderungen an PHP oder Git-fähigen Dateien vorgenommen.
Ich hoffe es hilft.
Laravel Framework 5.7 Installation unter Mac OS mit MAMP
Composer Composer-Installation
curl -sS https://getcomposer.org/installer | php
Laravel installieren
chmod -R 775 Speicher chmod -R 775 Bootstrap/Cache
geprüftes Fehlerprotokoll nach Fehler gefunden
tail -f /Applications/MAMP/logs/php_error.log
Gefunden: Syntaxfehler, unerwarteter '=' blog/vendor/laravel/framework/src/Illuminate/Support/Arr.php on line 388
Ich habe meine PHP-Version 7.1 geändert, um mein Problem zu lösen