刚刚完成了Laravel site上列出的所有步骤,安装并运行MacOS HighSierra.我目前安装了Composer,Homebrew,valet,PHP 7.2.8,MySQL 8.0.11和Laravel 5.6.28.我可以通过执行Laravel新博客命令来创建一个新项目,而不会有任何问题.此外,当我访问我的浏览器时,我可以看到我刚刚创建或正在处理的当前项目.我可以运行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的数据库,甚至手动添加表测试以确保数据库正在运行/运行.
更新
继续前进并卸载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.
异常跟踪:
创建了一个路由器和视图,连接到我创建的表,以查看是否能够访问数据库变量并将其打印出来.回来后我得到了这个错误.
异常消息:PDO :: __ construct():执行caching_sha2 auth时出现意外的服务器:109
解决方法:
我自己有这个问题,并得到错误异常消息:PDO :: __ construct():执行caching_sha2 auth时出现意外的服务器:109
这是我修复它的方式:
我像root用户一样登录mysql
mysql -uroot -p并输入了我的密码
您可以通过键入此SELECT用户,Host FROM mysql.user来获取服务器上的用户列表;
确保从.env文件中看到您尝试连接到数据库的用户.
您需要更改当前用户以使用mysql的持续版本中所需的caching_sha2_password.
这是命令.
ALTER USER `username`@`localhost` IDENTIFIED WITH caching_sha2_password BY 'password';
虽然仍以root用户身份登录,但您需要运行此命令以允许您的用户执行允许php artisan迁移发生的所需任务.例如:CREATE,DROP,ALTER,DELETE等.
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';
如果这不起作用,您还可以选择要允许的命令,而不是为其提供完全访问权限.
GRANT SELECT, INSERT ON *.* TO 'someuser'@'somehost';
希望这有助于〜
原文地址:https://codeday.me/bug/20190607/1194399.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。