4
votes

J'ai un problème avec la migration car je suis nouveau à Laravel. J'ai essayé tout ce qui est décrit ici sans succès

Je suis nouveau sur Laravel. J'ai MAMP et Xampp 7.3.0 installés sur mon MacOS Mojave mais j'utilise actuellement Xampp sur le port 80 avec le port MySQL reconfiguré à 33060 car phpmyadmin ne fonctionnait pas. J'ai un problème avec "php artisan migrate" car l'erreur suivante s'affiche à chaque fois que j'essaie de migrer:

SQLSTATE [HY000] [2002] Aucun fichier ou répertoire de ce type (SQL:

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema; //This must be added 


class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        //
        Schema::defaultStringLength(191); //This must be added to allow connection to the database
    }

    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
    }
}


1 commentaires

Face au même problème sur laravel 5.8 SQLSTATE [HY000] [2002] La connexion a expiré (SQL: select * from information_schema.tables where table_schema = ekm-parcel2G et table_name = migrations)


3 Réponses :


2
votes

Modifiez simplement cette ligne dans votre fichier .env :

DB_HOST=127.0.0.1

En

DB_HOST=localhost


4 commentaires

SQLSTATE [42000]: Erreur de syntaxe ou violation d'accès: 1064 Vous avez une erreur dans votre syntaxe SQL; Vérifiez le manuel qui correspond à votre version de serveur MariaDB pour la bonne syntaxe à utiliser près de ')' à la ligne 1 (SQL: alter table reservations a dd constraint reservations_client_id_foreign clé étrangère ( client_id ) fait référence aux clients ())


Donc, cela signifie que maintenant votre connexion est correcte. Mais vous rencontrez une autre erreur lorsque vous essayez de mettre à jour votre table de réservations.


J'ai besoin de votre fichier de migration pour résoudre ce problème. Le mieux, vous pouvez rechercher stackoverflow. il existe de nombreuses solutions disponibles concernant ce problème.


Merci, je l'ai réparé. J'ai fait une erreur au lieu de "$ table-> Foreign ('client_id') -> references ('id') -> on ('clients'‌);" , J'ai écrit "$ table-> Foreign ('client_id') -> reference ('id') -> on ('clients') ‌;"



0
votes

Commencez par quelques étapes de débogage simples:
- Pouvez-vous accéder à votre serveur mysql avec les informations d'identification fournies?
- Pouvez-vous vérifier que la base de données nommée «landon_app» existe sur votre serveur?
- Vous pouvez également essayer de changer l'hôte de localhost en 127.0.0.1


0 commentaires

0
votes

Laravel 4: remplacez "hôte" dans le fichier app / config / database.php de "localhost" par "127.0.0.1"

Laravel 5: remplacez "DB_HOST" dans le fichier .env de "localhost" par "127.0.0.1"


0 commentaires