web-dev-qa-db-fra.com

SQLSTATE [HY000] [2002] Aucun fichier ni répertoire de ce type dans yii2

J'utilise ubuntu 16.04.
PHP Version 7.0.4-7ubuntu2.
Apache/2.4.18 (Ubuntu).
PHP extension: mysqli (in phpmyadmin Written).

J'ai mis à jour mon ubuntu à partir de 15.10 to 16.04 et j'ai cette erreur:

Mon projet s'exécute correctement sur mon serveur mais je ne peux pas l'exécuter sous mon système d'exploitation

Database Exception – yii\db\Exception
SQLSTATE[HY000] [2002] No such file or directory
↵
Caused by: PDOException
SQLSTATE[HY000] [2002] No such file or directory

in /var/www/html/iicitySite/vendor/yiisoft/yii2/db/Connection.php at line 579
6
Saltern

Changer "localhost" en "127.0.0.1" en tant qu'hôte 

return [
    'components' => [
        'db' => [
            'class' => 'yii\db\Connection',    
            'dsn' => 'mysql:Host=127.0.0.1;dbname=abc',
            'username' => 'root',
            'password' => '',
            'charset' => 'utf8',
        ],
27
vijay nathji

Pour les utilisateurs de MAMP, la solution est

'components' => [
    'db' => [
        'class' => 'yii\db\Connection',
        'dsn' => 'mysql:Host=localhost;port=8889;dbname=mydbname;unix_socket=/Applications/MAMP/tmp/mysql/mysql.sock',
        'username' => 'myuser',
        'password' => 'mypassword',
        'charset' => 'utf8',
    ],
],
2
sirjay

si vous utilisez mamp, n'utilisez pas la commande "php" dans MAC OS, mais utilisez "php" dans mamp, tel que /Applications/MAMP/bin/php/php5.6.30/bin/php yii migrate.

1
qiaoer

J'utilise l'environnement MAMP et fonctionne bien avec les 2 solutions ci-dessus

  1. remplacez localhost par 127.0.0.1
  2. reste comme hôte local et définit le port mysql même si le port par défaut a été utilisé (localhost:3306)

J'espère que cette réponse vous aidera:

Modifiez le nom d'hôte de localhost en 127.0.0.1

Ceci est à l'intérieur du backend\common\config\main-local.php 

Maintenant, vous lancez php yii migrate .

Espérons, il va créer avec succès les tables dans la base de données

0
Deepak swain

J'ai eu ce même problème aussi. Changer localhost n'a pas résolu mon problème. Au lieu de cela, ajoutez votre port de base de données comme ceci:

'dsn'=>'mysql:Host=localhost:3307;dbname=geep'
0
Olamide226