Search code examples
phpubuntularavel-5artisan-migrate

Solution To "Could not find driver" & "can't connect to local MYSQL server through socket" - Laravel


Hi All, Since I'm a newbie to laravel. First time coming to LARAVEL. I Faced lots of problem regarding command like "php artisan migrate".

Error Like,


Solution

  • First of all,

     - Find your php.ini file in your system using $ php -i |grep php\.ini command.
       Or, check this https://stackoverflow.com/questions/3057110/where-can-i-find-the-php-ini-for-php-cli
     - Open php.ini file. 
     - And, make sure these lines are present or not.
       a)  extension=mysql.so b) extension=pdo_mysql.so
     - If Yes, remove (;) this before them.
     - If not present, run this command `sudo apt-get install php5-mysql`
    

    Now, type php artisan migrate command. I'm sure you will get error cant connect to local MYSQL server through socket

    Now, 
     - Change bind-address from localhost to 127.0.0.1
     - Run `/opt/lampp/bin/php`. 
     - After running this if you get "unable to load dynamic library", remove `php_mssql.dll extension` (for non-windows)
     - If not getting error, come directly to "Project-Name-Folder/config/database.php" file and add this code 'unix_socket'   => '/opt/lampp/var/mysql/mysql.sock',
    

    Find the complete path of mysql.sock, and add it

    'mysql' => [
                'driver'    => 'mysql',
                'host'      => env('DB_HOST', 'localhost'),
                'database'  => env('DB_DATABASE', 'danishLara'),
                'username'  => env('DB_USERNAME', 'root'),
                'password'  => env('DB_PASSWORD', ''),
            'unix_socket'   => '/opt/lampp/var/mysql/mysql.sock', //Add this line here
                'charset'   => 'utf8',
                'collation' => 'utf8_unicode_ci',
                'prefix'    => '',
                'strict'    => false,
            ],
    

    Check this Setting up Laravel on a Mac php artisan migrate error: No such file or directory