col*_*ron 2 php laravel artisan
当试图访问我的Laravel网站时,我在尝试执行时遇到SQL连接被拒绝错误 $candidate = App\Models\Candidate::find(400);
SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost' (SQL: select * from `candidates` where `candidates`.`candid` = 400 limit 1)
Run Code Online (Sandbox Code Playgroud)
但是,我可以php artisan tinker从命令行连接正常:
root@454ab4403b8f:/app# php artisan tinker
Psy Shell v0.9.6 (PHP 7.2.7-1+ubuntu18.04.1+deb.sury.org+1 — cli) by Justin Hileman
>>> App\Models\Candidate::find(400)
=> App\Models\Candidate {#2865
candid: 400,
firstname: "",
...
}
Run Code Online (Sandbox Code Playgroud)
工匠的配置是否与网络不同?为什么一个人会工作而另一个人不工作?
MySQL数据库上的ROOT帐户通常被阻止用于不是控制台的登录.Artisan是控制台,您的用户得到认可.
只需在数据库中创建一个专用数据库和数据库用户,以便进行开发.
永远不要将root用于Web应用程序.始终为数据库等创建专用用户.Root功能太强,普通用户可能弹出的一些错误不会在root下弹出,这可能会在转移到生产时导致意外错误.在您当地的环境中,您希望尽可能地模仿生产,具有所有相同的限制.
此外,如果您的网站最终存在缺陷和生产,您也使用ROOT作为数据库用户,那么如果黑客发现了这个弱点,黑客可以读取/修改/擦除所有数据库中的所有数据,并可能访问您的文件系统并以这种方式收集其他文件.除了配置数据库之外,永远不要使用root.
| 归档时间: |
|
| 查看次数: |
57 次 |
| 最近记录: |