我尝试使用以下代码连接到我的数据库:
$connection = mysqli_connect($address, $username, $password, $database, $port);
if (!$connection) {
throw new Exception("Error: Unable to connect to MySQL (Error Code " . mysqli_connect_errno() . ": " . mysqli_connect_error() . ")");
}
我已经检查过所有变量都是正确的,但我仍然无法连接。我做错了什么?
答案 0 :(得分:0)
我遇到了问题,原来是连接用户的密码设置。
与旧方法相比,MySQL 5.7的默认身份验证类型似乎是将密码设置为SHA256散列。
这在MySQL cli上运行良好,但不能通过PHP 7.2.x(最新版本)运行。
PHP团队在这里记录了一个错误: https://bugs.php.net/bug.php?id=76651
在支持某些更高版本的MySQL更高支持的安全性设置之前,PHP似乎还有一段路要走。