我是Laravel的绝对初学者(第5.7.2节),我正面临着我的第一个真正的障碍。在MAMP上,通过phpmyadmin和模型php artisan make:model [modelname] -m
成功创建数据库后,当我尝试迁移它php artisan migrate
时,我收到以下错误:
异常跟踪:
1 PDOException ::(“PDO :: __ construct():服务器请求客户端未知的身份验证方法[caching_sha2_password]”)/ Applications / MAMP / htdocs / loginsystemLaravel / vendor / laravel / framework / src / Illuminate / Database / Connectors / Connector.php:68
2 PDO :: __ construct(“mysql:host = 127.0.0.1; port = 3306; dbname = lsapp”,“root”,“”,[])/ Applications / MAMP / htdocs / loginsystemLaravel / vendor / laravel / framework / src /Illuminate/Database/Connectors/Connector.php:68
我仔细检查了文件.env和database.php,它们都具有相同的配置。
怎么了?
最后巧合地解决了这个问题。我意识到我安装了两个版本的mysql,mysql8和mysql57。第一个支持默认的cachin sha2,laravel尚不支持。可能的解决方案:
1)更改默认的mysql登录方法。 2)使用5.7。 3)记得在.env和config / database.php文件中设置相同的参数。
希望这会帮助别人