14赞
839
当前位置:  开发笔记 > 编程语言 > 正文

LaravelMigration失速并且什么都不做

如何解决《LaravelMigration失速并且什么都不做》经验,为你挑选了1个好方法。

刚刚完成了Laravel网站上列出的所有步骤,安装并启动并运行MacOS HighSierra.我目前安装了Composer,Homebrew,valet,PHP 7.2.8,MySQL 8.0.11和Laravel 5.6.28.我可以通过执行Laravel new blog命令创建一个新项目,而不会有任何问题.此外,当我访问我的浏览器时,我可以看到我刚刚创建或正在处理的当前项目.我可以运行valet list命令,所以我知道它的运行/工作.我也可以创建一个迁移,并通过运行它来显示在我的项目中php artisan make:migration test_test_test.

PATH也有~/.composer/vendor/bin它.

我的.env文件看起来像这样

APP_NAME=Laravel
APP_ENV=local
APP_DEBUG=true
APP_URL=http://localhost

LOG_CHANNEL=stack

DB_COnNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=blog        
DB_USERNAME=root
DB_PASSWORD=

BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
SESSION_LIFETIME=120
QUEUE_DRIVER=sync

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

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}"

我运行php artisan migrate -vvv命令,它运行并停止/挂起,没有输出.我必须ctl-c才能摆脱它.尝试过-v /-vv,做了同样的事情.

我创建了一个名为的数据库blog,甚至test手动添加了一个表,以确保数据库正在运行/运行.

更新

继续前进并卸载MySQL并重新安装它.我能够运行php artisan migrate -v命令并收到此错误.

现在我收到了这个错误.

MacBook-Pro:anything computername$ php artisan migrate -v

PDOException  : SQLSTATE[HY000] [2006] MySQL server has gone away

at /Users/computername/Sites/anything/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:68
64|         if (class_exists(PDOConnection::class) && ! $this->isPersistentConnection($options)) {
65|             return new PDOConnection($dsn, $username, $password, $options);
66|         }
67| 
> 68|         return new PDO($dsn, $username, $password, $options);
69|     }
70| 
71|     /**
72|      * Determine if the connection is persistent.

异常跟踪:

创建了一个路由器和视图,连接到我创建的表,以查看是否能够访问数据库变量并将其打印出来.回来后我得到了这个错误.

Exception message: PDO::__construct(): Unexpected server respose while doing caching_sha2 auth: 109



1> 小智..:

我自己有这个问题,并得到错误 Exception message: PDO::__construct(): Unexpected server respose while doing caching_sha2 auth: 109

这是我修复它的方式:

我以root用户身份登录mysql mysql –uroot –p并输入密码

您可以通过键入以获取服务器上的用户列表 SELECT User, Host FROM mysql.user;

确保从.env文件中看到您尝试连接到数据库的用户.您需要更改当前用户以使用mysql的持续版本中所需的caching_sha2_password.

这是命令.

ALTER USER `username`@`localhost` IDENTIFIED WITH caching_sha2_password BY 'password';

虽然仍以root用户身份登录,但您需要运行此命令以允许您的用户执行允许php artisan migrate发生的所需任务.例如:CREATE, DROP, ALTER, DELETE等等.

GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';

如果这不起作用,您还可以选择要允许的命令,而不是为其提供完全访问权限.

GRANT SELECT, INSERT ON *.* TO 'someuser'@'somehost';

希望这有助于〜


推荐阅读
author-avatar
钻探paz_106
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有