我们正在申请学校,我在其中制作了一个表单来添加一些东西到数据库中。我一直在跟踪Laracast,但每当我试图提交表单以将内容添加到数据库时,我都会得到;
PDOException in Connector.php line 55: SQLSTATE[28000] [1045用户'root'@'localhost'被拒绝(使用密码:YES)
我可以完美地使用命令php artisan migrate
,它可以创建表。它只是在应用程序本身上不起作用。
有办法解决这个问题吗?
。env文件
PP_ENV=local
APP_DEBUG=true
APP_KEY=Hp7smlDebYOhW04Xn70J0TWfySNI2iAG
DB_CONNECTION=mysql
DB_HOST=localhost
DB_DATABASE=boost
DB_USERNAME=root
DB_PASSWORD=******
CACHE_DRIVER=file
SESSION_DRIVER=file
您是否正确地复制粘贴了文件,或者您真的在第一行上有PP_ENV=local
?这绝对应该是APP_ENV=local
,以便检测您的本地环境/也,您的密码是"root"吗?我不是要求您的密码,但需要知道您是否在这里使用默认的scotchbox密码。在scotchbox
您可以检查的另一件事是查看laravel是否检测到您的本地环境:将其放在某个控制器中并打印$environment变量。结果是你变得"本地化"了吗?$environment = App::environment(); echo $environment;
您的用户名/密码组合错误,或者您没有将正确的主机授予mysql的root用户
如果您的用户名密码组合正确-从命令行以root身份登录mysql。然后应用以下内容:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'CHOOSE A PASSWORD';
允许root用户拥有来自任何主机的所有权限。我不建议在生产环境中这样做。
还要检查database.php是否匹配。env文件
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'sample'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
首先你必须正确安装mysql。
在本地配置DB。Env或扩展名为. Env的文件。您需要提供与database.php文件中提供的相同的配置。