-3

I try to start the application by: php -S localhost:8000 -t public/ and I get the error

Fatal error: Uncaught PDOException: SQLSTATE[HY000] [2002] No such file or directory in /Applications/XAMPP/xamppfiles/htdocs/pouce/src/App/Database.php:20 Stack trace: #0 /Applications/XAMPP/xamppfiles/htdocs/pouce/src/App/Database.php(20): PDO->__construct('mysql: host=loc...', 'root', '', Array) #1 /Applications/XAMPP/xamppfiles/htdocs/pouce/src/App/Database.php(28): App\App\Database->__construct() #2 /Applications/XAMPP/xamppfiles/htdocs/pouce/src/App/App.php(173): App\App\Database::getInstance() #3 /Applications/XAMPP/xamppfiles/htdocs/pouce/src/App/Model.php(14): App\App\App->getDB() #4 /Applications/XAMPP/xamppfiles/htdocs/pouce/src/App/App.php(27): App\App\Model->__construct() #5 /Applications/XAMPP/xamppfiles/htdocs/pouce/public/index.php(8): App\App\App->run() #6 {main} thrown in /Applications/XAMPP/xamppfiles/htdocs/pouce/src/App/Database.php on line 20

Here is my code :

<?php

namespace App\App;

use PDO;

class Database {

    private static $_instance;
    private PDO $pdo;
    private $db_config;

    public function __construct()
    {
        $this->db_config = App::getConfig()['db_config'];
        
        $dsn = "mysql: host={$this->db_config['db_host']}; dbname={$this->db_config['db_name']}";
        
        $this->pdo = new PDO($dsn, $this->db_config['db_user'], $this->db_config['db_pass'], [
            PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
        ]);
    }

    public static function getInstance()
    {
        if(self::$_instance === null)
        {
            self::$_instance = new self();
        }

        return self::$_instance;
    }

    public function getPDO(): PDO
    {
        return $this->pdo;
    }
}
Your Common Sense
  • 156,878
  • 40
  • 214
  • 345
Agbegnon
  • 1
  • 1

0 Answers0