PHP 7.3.1,PDO,Mysql8不再兼容吗? 2019年11月16日

编辑:根据发送过来的链接,似乎没有人读过这个问题,但是对于那些以后看到这个问题的人来说,答案似乎是: 不,它们不再兼容,您需要手动更改mysql auth'

我们有一个用于本地目的的小应用程序,并且有一个非常不安全的简单PDO注入设置来访问我们的mysql。 (适用于MYSQL7)

return [
    'database' => [
        'username' => 'root','password' => '','connection' => 'mysql:host=127.0.0.1','options' => [
            PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
        ]
    ]
];

我们升级到mysql8,看起来MYSQL8身份验证与众不同。

  

SQLSTATE [HY000] [2054]服务器请求了客户端“名称”未知的身份验证方法

已升级到php7.3.1和相同的问题。

以前对类似问题的回答说,我们需要调整MYSQL配置。这些帖子不过一岁了。而且我们没有能力做到这一点并使自己感到舒适。

问题:在2019年11月,MYSQL8&PHP7.3.1&PDO是否彼此不兼容?

我们可以在连接PDO代码中进行更改吗?还是正在编辑MYSQL设置或切换到sqlite等唯一的选择?

show1234ab 回答:PHP 7.3.1,PDO,Mysql8不再兼容吗? 2019年11月16日

不,它们不再兼容,即开即用

,

PHP不支持MySQL 8中默认的新身份验证方法。我怀疑是否曾经有一段时间PHP支持任何默认版本的MySQL 8。

您需要做的就是将MySQL切换回以前的方法,直到PHP支持新方法为止。

您只需在启动mysqld的命令中添加一个选项即可。

 public IActionResult Index() {
    return DownnloadMyFile("/myApp.apk");
}

就是这样。

也许可以通过扩展名等形式解决此问题,您可以将其添加到PHP中,但是当我搜索此类扩展名时,没有任何问题。

本文链接:https://www.f2er.com/3088140.html

大家都在问