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() { // } }
3 Réponses :
Modifiez simplement cette ligne dans votre fichier .env
:
DB_HOST=127.0.0.1
En
DB_HOST=localhost
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') ;"
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
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"
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)