Search code examples
laravelvagranthomesteadlaravel-artisanartisan-migrate

Laravel locally run artisan commands effect VM environment


I am looking for a solution that will allow me to run artisan commands from my local machine and for them to take effect on my homestead VM.

For example, when running php artisan migrate the command is run using the information stored in the .env file points to the VM, but my terminal is trying to run them locally.

The majority of the commands run successfully because they do not need drivers from the remote machine. Running php artisan route:list works fine.

How can I run artisan commands using a local terminal?


Solution

  • You need to change the following files:

    .env

    DB_HOST=127.0.0.1
    DB_HOST_PORT=:33060
    

    homestead.yaml

    variables:
        - key: APP_ENV
          value: local
        - key: DB_HOST_PORT
          value: ":3306"
    

    config/database.php

    'mysql' => [
        // ...
        'driver' => 'mysql',
        'host'   => env('DB_HOST') . env('DB_HOST_PORT'),
        // ...
    ]