Laravel artisan命令在33060端口下可以使用,但数据库却停止工作了

问题描述 投票:0回答:2

我正在用Homestead做一个Laravel 5.8的项目. 该项目在数据库端口设置为 3306 但我无法运行artisan命令。当我把数据库端口改为 33060 数据库停止工作,但artisan命令可以使用。3306 当我运行任何artisan命令时,我得到了这样的消息。

enter image description here

而当我切换到 33060 错误消失,可以运行artisan命令,但数据库停止工作。

APP_DEBUG=true
APP_URL=http://127.0.0.1
APP_ENV=local
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=33060
DB_DATABASE=forums
DB_USERNAME=homestead
DB_PASSWORD=secret

配置数据库.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', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'prefix_indexes' => true,
        'strict' => true,
        'engine' => null,
        'options' => extension_loaded('pdo_mysql') ? array_filter([
            PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
        ]) : [],
    ],
php mysql laravel homestead
2个回答
1
投票

我自己从来没有使用过Homestead, 但可以看看这个相关问题:

Laravel Homestead数据库连接的奇怪行为。

看来,这个错误可能是相对于你是在虚拟机中还是在物理机上运行命令。


0
投票

默认情况下,MySQL服务器监听的端口是3306,这就是为什么它可以工作。但如果你希望使用其他端口,那么你必须改变你的MySQL服务器设置。

如何将mysql的默认端口从3306改为3360?

© www.soinside.com 2019 - 2024. All rights reserved.