Numéro de la base de données Laravel 5

j'ai installé laravel 5 avec succès en utilisant cette commande:

composer create-project laravel/laravel test-laravel-5-project dev-develop --prefer-dist

j'ai même vérifié la version de laravel installée en utilisant php artisan -V la commande. La sortie a été

Laravel Framework version 5.0-dev

puis je suis allé à app/config / database.php, a donné dafault db comme mysql et a donné des configurations comme

'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', 'localhost'), 'database' => env('DB_DATABASE', 'Logintestfive'), 'username'=> env('DB_USERNAME', 'root'), 'password'=> env('DB_PASSWORD', 'manasa'), 'charset'=> 'utf-8', 'collation'=> 'utf-8_unicode_ci', prefix=> '', 'strict'=> false, ]

Puis je suis allé à localhost:8000/auth/register et rempli le formulaire et présenté les données et c'est l'erreur que j'ai obtenu:

PDOException in Connector.php line 47: SQLSTATE[28000] [1045] Access denied for user 'homestead'@'localhost' (using password: YES)

mais je n'ai pas utilisé laravel homestead pour installng laravel 5 dans mon système, ni utilisé vagrant pour installer laravel homestead. Et il me dit comme ça:

in Connector.php line 47
at PDO->__construct('mysql:host=localhost;dbname=homestead', 'homestead', 'secret', array('0', '2', '0', false, '0')) in Connector.php line 47
at Connector->createConnection('mysql:host=localhost;dbname=homestead', array('driver' => 'mysql', 'host' => 'localhost', 'database' => 'homestead', 'username' => 'homestead', 'password' => 'secret', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, 'name' => 'mysql'), array('0', '2', '0', false, '0')) in MySqlConnector.php line 20
at MySqlConnector->connect(array('driver' => 'mysql', 'host' => 'localhost', 'database' => 'homestead', 'username' => 'homestead', 'password' => 'secret', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, 'name' => 'mysql')) in compiled.php line 10545
at ConnectionFactory->createSingleConnection(array('driver' => 'mysql', 'host' => 'localhost', 'database' => 'homestead', 'username' => 'homestead', 'password' => 'secret', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, 'name' => 'mysql')) in compiled.php line 10541
at ConnectionFactory->make(array('driver' => 'mysql', 'host' => 'localhost', 'database' => 'homestead', 'username' => 'homestead', 'password' => 'secret', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false), 'mysql') in compiled.php line 10459

Comment puis-je régler ces problèmes?

24
demandé sur Ajay Kulkarni 2015-01-29 10:54:44
la source

13 ответов

j'ai un problème similaire. J'ai démarré mon serveur en utilisant php artisan serve la commande, et à l'édition d' .env fichier et mis à jour la page Web qui ne reflète aucun changement!

Je l'ai corrigé en arrêtant le serveur web, en éditant le .env.php fichier et redémarrage du serveur web!

donc je suppose que c'est un problème de mise en cache du .env.php fichier.

48
répondu Yordi Uytersprot 2017-02-08 22:39:39
la source

Laravel 5.1.10

Comme les réponses déjà données ci-dessus par Ganesh et Yordi, Mais je suis combinant les deux en un seul.

Problème:

Quand j'essaie de créer une base de données dans phpmyAdmin et que je veux créer un schéma/une table à travers le service de construction de schéma Laravel, j'obtiens les erreurs suivantes:

PDOException dans le connecteur.php line 50: SQLSTATE [HY000] [1045] Accès refusé à l'utilisateur 'homestead' @ 'localhost' (using password: YES)

dans le Connecteur.php line 50

a PDO->__construire ('mysql: host=localhost;dbname=homestead', 'homestead', 'secret', array('0', '2', '0', false, '0'))

dans le Connecteur.php line 50

au Connecteur->createConnection('mysql:host=localhost;dbname=homestead', array('driver' => 'mysql', 'host' => 'localhost', 'database' => 'ferme', 'username' => 'ferme', 'password' => 'secret', 'charset' => 'utf8', 'classement' => 'utf8_unicode_ci', 'prefix' => ", 'strict' => false, 'nom' => 'mysql'), array('0', '2', '0', false, '0')) dans MySqlConnector.php à la ligne 22 au MySqlConnector->connect(array('driver' => 'mysql', 'host' => 'localhost', 'database' => 'ferme', 'username' => 'ferme', 'password' => 'secret', 'charset' => 'utf8', 'classement' => 'utf8_unicode_ci', 'prefix' => ", 'strict' => false, 'nom' => 'mysql')) .............

Solution 1:

Puis j'ai réalisé que les questions étaient dans le fichier de configuration, j'ai oublié de changer les valeurs dans le fichier de configuration. Le. le fichier env est situé dans le répertoire racine de laravel 5 ouvrez le fichier et modifiez les valeurs suivantes avec vos chers

DB_DATABASE = localhost,

DB_USERNAME = base de données-username,

DB_PASSWORD = base de données-user-password

Solution 2:

Ou de changement dans la base de données.fichier php sans env() comme Ganesh syas:

    // instead of this block
    'mysql' => [
        'driver'    => 'mysql',
        'host'      => env('DB_HOST', 'localhost'),
        'database'  => env('DB_DATABASE', 'your database name'),
        'username'  => env('DB_USERNAME', 'your database username'),
        'password'  => env('DB_PASSWORD', 'your database password'),
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
        'strict'    => false,
    ],

    // use this one

    'mysql' => [
        'driver'    => 'mysql',
        'host'      => 'localhost',
        'database'  => 'your database name',
        'username'  => 'your database username',
        'password'  => 'your database password',
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
        'strict'    => false,
    ]

les deux solutions ont fonctionné pour moi.

8
répondu MasoodUrRehman 2015-08-18 11:41:55
la source

Laravel utilise les variables contenues dans votre .env fichier.

http://laravel.com/docs/master/configuration

il est souvent utile d'avoir différentes valeurs de configuration basées sur l'environnement dans lequel l'application est exécutée. Par exemple, vous pouvez utiliser un pilote de cache différent localement de celui que vous utilisez sur votre serveur de production. C'est facile d'utiliser une configuration basée sur l'environnement.

Laravel utilise le PHP DotEnv bibliothèque de Vance Lucas. Dans une nouvelle installation Laravel, le répertoire racine de votre application contiendra un .env.fichier de l'exemple. Si vous installez Laravel via Composer, ce fichier sera automatiquement renommé .env. Sinon, vous devez renommer le fichier manuellement.

toutes les variables listées dans ce fichier seront chargées dans le super-global $_ENV PHP lorsque votre application reçoit une requête. Vous pouvez utiliser l'aide env pour récupérer les valeurs de ces variables. En fait, si vous examinez les fichiers de configuration de Laravel, vous remarquerez plusieurs des options qui utilisent déjà cet helper!

n'hésitez pas à modifier vos variables d'environnement nécessaires pour votre propre serveur local, ainsi que votre environnement de production. Cependant, votre .le fichier env ne doit pas être affecté au contrôle source de votre application, car chaque développeur / serveur utilisant votre application pourrait nécessiter une configuration d'environnement différente.

si vous développez avec une équipe, vous pouvez souhaitez continuer à y compris un .env.exemple de fichier avec votre application. En mettant des valeurs place-holder dans le fichier de configuration de l'exemple, d'autres développeurs de votre équipe peuvent clairement voir quelles variables d'environnement sont nécessaires pour exécuter votre application.

La valeur par défaut .fichier de configuration ressemble à quelque chose comme:

APP_ENV=local
APP_DEBUG=true
APP_KEY=YOUR_KEY_HERE

DB_HOST=localhost
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

CACHE_DRIVER=file
SESSION_DRIVER=file
5
répondu ajtrichards 2015-01-29 11:05:41
la source

j'ai eu le même problème. Après avoir utilisé la commande "php artisan config:clear" pour effacer l'ancien fichier de cache de configuration, cela peut fonctionner. Peut-être que vous pouvez essayer.

Par le chemin, mon anglais n'est pas bon, j'espère que vous pouvez comprendre.

3
répondu Eason Hung 2015-02-15 05:45:47
la source

Laravel utilise .env fichier afin de changer la .fichier env ou changement dans la base de données.fichier php sans env()

'mysql' => [
        'driver'    => 'mysql',
        'host'      => 'localhost',
        'database'  => 'your database name',
        'username'  => 'your database username',
        'password'  => 'your database password',
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
        'strict'    => false,
    ]
3
répondu Ganesh Jogam 2015-03-20 10:39:45
la source

Dans le fichier Config->base de données.php

'mysql' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST', 'localhost'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'DBName'),
        'username' => env('DB_USERNAME', 'root'),
        'password' => env('DB_PASSWORD', ''),
        'charset' => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix' => '',
        'strict' => false,
        'engine' => null,
    ],

.fichier de configuration :

DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=DBName
DB_USERNAME=root
DB_PASSWORD=

fermez le serveur d'application laravel et redémarrez à nouveau pour vider le cache.

  php artisan serve

Ou vous pouvez faire :

  php artisan config:clear

ceci nettoiera le cache dans les fichiers de configuration.

maintenant ça va vraiment marcher! Acclamations!

3
répondu Sunil 2016-09-03 18:36:16
la source

Laravel config / database.php utilise le .fichier env pour le nom de la base de données,le nom d'utilisateur et le mot de passe, s'il vous plaît changer votre .fichier de configuration

DB_HOST=localhost

DB_DATABASE=my_project

DB_USERNAME=root

DB_PASSWORD=myproject

après avoir changé cette commande, exécutez la commande suivante:

compositeur de vidage-autoload

exécuter votre projet

php artisan servir

2
répondu Nithin 2018-03-02 20:15:33
la source

j'avais un problème très similaire et je ne savais pas où regarder. J'ai vidé le cache, redémarré le serveur, etc, pas de joie. Jusqu'à ce que je l'ai trouvé...

avant de revenir à une version précédente sur le git repo, j'avais l'habitude d'avoir ma session pilote pour utiliser la base de données! Chose stupide, mais ce n'est pas nécessairement la connexion de base de données que vous devez regarder, mais à la place où vous invoquez la base de données pour être utilisé en premier lieu.

j'espère que quelqu'un qui se retrouvera sur cette page comme je l'ai fait trouvera cela utile.

1
répondu Barnabas Kecskes 2015-03-13 21:20:24
la source

j'ai le même issui, modifiez le fichier .env sur le dossier racine et changer la base de données de config DB_DATABASEDB_USERNAME DB_PASSWORD

0
répondu vuhung3990 2015-04-01 10:36:08
la source

à l'intérieur de votre laravel eg. c:/www/laravel, créer un nouveau répertoire appelé 'local' dans app/config.Copie de base de données.php (app/config/database.php).Cela fonctionne pour moi

0
répondu rai 2015-06-04 16:31:49
la source

Oui j'ai eu les mêmes problèmes où tout s'est bien passé, de l'installation de migration à php artisan migrate. Mais quand j'ai essayé de créer un utilisateur l'accès est refusé.

la Solution que j'ai trouvée était de fermer le ctrl + d pour terminer le serveur et le redémarrer. J'ai travaillé... :)

0
répondu Bastin Robin 2015-12-30 21:56:14
la source

vous pouvez redémarrer votre serveur Je pense que C'est une erreur dans Laravel alors exécutez votre serveur à nouveau avec "php artisan serve" et rafraîchissez votre page Web C'est OK.

0
répondu HRMadani 2016-07-29 18:29:28
la source

pour moi

sudo service apache2 reload

a

-1
répondu GrigoreasP 2016-05-31 13:47:34
la source

Autres questions sur