web-dev-qa-db-ger.com

Installieren Laravel 5.1 unter OSX mit MAMP

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
8
Marty Thomas

1) Installieren Sie Composer

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.

Screen Shot 2015-08-17 at 1.34.05 PM.png

Wenn Sie Composer noch nicht installiert haben, sehen Sie Erste Schritte mit Composer

2) Installieren Sie Laravel

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. 

laravel_mamp.png

Wenn Sie dann http: // saas: 8888 besuchen, wird Ihnen der schöne Willkommensbildschirm von Laravel angezeigt.

laravel5_1.png

3) Datenbank erstellen

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',
    ],

4) Nachbearbeitung

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

5) PHP Pfad

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!

33
Marty Thomas

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.

5
Jamie Poole

Laravel Framework 5.7 Installation unter Mac OS mit MAMP

Composer Composer-Installation

curl -sS https://getcomposer.org/installer | php

Laravel installieren

  1. composer global erfordert laravel/installer
  2. PATH = $ PATH: ~/.composer/vendor/bin
  3. laravel neu 

chmod -R 775 Speicher chmod -R 775 Bootstrap/Cache

Nachdem ich 500 Fehler bekommen habe

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

0
Prasanth