Laravel迁移SQLSTATE [HY000] [2002]连接被拒绝

时间:2019-12-18 08:58:20

标签: php laravel xampp

尝试在laravel中迁移到localhost时出现错误。我正在学习如何使用laravel,但无法连接到phpmyadmin数据库。

这是可视代码终端中的错误消息
当我将数据库主机更改为本地主机时,它给我一个PDOException::(“ SQLSTATE [HY000] [2002] No such file or directory”)错误

这是我的环境。文件

APP_NAME=LSAPP 
APP_ENV=local 
APP_KEY=base64:Cv3S1V8GT1RKgpfilYmQM4aiM1HoXlwUMfh1oeL424I= 
APP_DEBUG=true APP_URL=http://localhost

LOG_CHANNEL=stack

DB_CONNECTION=mysql 
DB_HOST=127.0.0.1 
DB_PORT=3306 
DB_DATABASE=lsapp 
DB_USERNAME=root 
DB_PASSWORD=

BROADCAST_DRIVER=log C
ACHE_DRIVER=file 
QUEUE_CONNECTION=sync 
SESSION_DRIVER=file 
SESSION_LIFETIME=120

REDIS_HOST=127.0.0.1 
REDIS_PASSWORD=null 
REDIS_PORT=6379

MAIL_DRIVER=smtp 
MAIL_HOST=smtp.mailtrap.io 
MAIL_PORT=2525 
MAIL_USERNAME=null 
MAIL_PASSWORD=null 
MAIL_ENCRYPTION=null

AWS_ACCESS_KEY_ID= 
AWS_SECRET_ACCESS_KEY= 
AWS_DEFAULT_REGION=us-east-1 
AWS_BUCKET=

PUSHER_APP_ID= 
PUSHER_APP_KEY= 
PUSHER_APP_SECRET= 
PUSHER_APP_CLUSTER=mt1

MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}" 
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"

我没有将DBHOST更改为localhost,还尝试了其他数据库用户名和数据库密码,但没有成功。我的创建帖子代码如下

Schema::create('posts', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->string('title');
            $table->mediumText('body');
            $table->timestamps();
        });

我还更改了AppServiceProvider.php以使其包含Schema :: defaultStringLength(191); 我也在phpmyadmin中创建了空表。

2 个答案:

答案 0 :(得分:1)

第一次尝试

image
DB_HOST=localhost 

然后

php artisan migrate --env=production(or whatever environment)

答案 1 :(得分:0)

只需在您的config / database.php文件中添加'port'=> env('DB_PORT',3306),然后在.env中设置该值,例如DB_PORT = 33060

'port' => env('DB_PORT', 3306),