PHP Artisan Migrate con MAMP y Unix Socket

Estaba desarrollando mi aplicación originalmente en Laravel 4.2, pero desde entonces he decidido moverla a la versión 5.0 para que cubra muchos más cambios y fortalezas que 5.0 tiene más de 4.2.

Estoy tratando de ejecutar mi migración sin embargo, estoy recibiendo el error:

[PDOException] SQLSTATE[HY000] [2002] No such file or directory 

Miré esto y me di cuenta de cómo es porque estoy ejecutando MAMP para mi servidor en lugar de errante y homestead. No estoy criticando los usos de esos dos, pero en este punto me siento más cómodo con MAMP hasta que me falla. La razón por la que sé que su MAMP se debe a la necesidad de declarar el valor de socket de Unix que se utilizará.

Ahora en mi versión 4.2 de mi aplicación tengo lo siguiente:

 'mysql' => array( 'driver' => 'mysql', 'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock', 'host' => getenv('DB_HOST'), ... ), 

Con mi versión Laravel 5.0 estoy haciendo uso del archivo .env para mis variables de entorno y no estoy seguro de cómo debo hacer esto para que sepa usar el valor de socket de Unix.

¿Puede alguien decirme cómo debería adoptar esto en la nueva versión o una mejor manera de agregarlo a la configuración para no tener que hacerlo?

    Prueba esto:

     'mysql' => array( 'driver' => 'mysql', 'unix_socket' => getenv('UNIX_SOCKET'), 'host' => getenv('DB_HOST'), ... ), 

    En .env añadir

     UNIX_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock 

    Aunque es una pregunta bastante antigua, pero todavía puede ayudar a otros. así que añadiendo respuesta.

    Incluso hay una solución simple. agrega esto a tu archivo .env

     DB_HOST=localhost;unix_socket=/Applications/MAMP/tmp/mysql/mysql.sock 

    Gracias, ayúdame a solucionar el problema de migración usando:

     MAMP PRO 4.2 Laravel 5.5 

    dentro del archivo .env:

     DB_CONNECTION=mysql DB_HOST=localhost DB_PORT=3306 DB_DATABASE= DB_USERNAME= DB_PASSWORD= DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock 

    dentro de config / database.php:

     'connections' => [ 'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', 'localhost'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', ''), 'username' => env('DB_USERNAME', ''), 'password' => env('DB_PASSWORD', ''), 'unix_socket' => env('DB_SOCKET', '/Applications/MAMP/tmp/mysql/mysql.sock'), 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'strict' => true, 'engine' => null, ], ], 

    Tampoco olvide agregar a la aplicación / Proveedores / AppServiceProviders.php:

     use Illuminate\Support\Facades\Schema; public function boot() { Schema::defaultStringLength(191); } 

    En laravel 5.5 el unix_socket cambia a DB_SOCKET

    dentro del archivo .env:

     DB_USERNAME=root DB_PASSWORD=root DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock 

    dentro de config / database.php:

      'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'unix_socket' => env('DB_SOCKET', ''),