[英]Unable to connect to database - MySQL server has gone away
我正在尝试使用以下代码连接到我的数据库:
$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() . ")");
}
我已经检查过所有变量都是正确的,但我仍然无法连接。 我究竟做错了什么?
我遇到了这个问题,结果证明这是连接用户的密码设置。
似乎MySQL 5.7的默认身份验证类型是将密码设置为SHA256哈希值与旧方法相比。
这适用于MySQL cli,但不适用于PHP 7.2.x(最新版本)。
PHP团队在这里记录了一个错误: https : //bugs.php.net/bug.php?id = 76651
在支持更高版本的MySQL支持的一些较新的更高安全性设置之前,PHP似乎还有很长的路要走。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.