如果你无法将 PHP 7 连接到 MySQL 8 数据库,可能是由于以下几个原因:
PHP 扩展未安装或未启用:确保已安装并启用了 PHP 的 MySQL 扩展。你可以通过编辑 php.ini
文件来启用扩展,找到以下行并确保没有被注释掉:
extension=mysqli
extension=pdo_mysql
然后重启你的 web 服务器。
MySQL 8 的身份验证方式:MySQL 8 默认使用了新的身份验证方式,而旧版本的 PHP 可能不支持。你可以尝试在连接数据库之前设置以下选项来解决这个问题:
mysqli_options(MYSQLI_INIT_COMMAND, 'SET default_authentication_plugin=mysql_native_password');
这会将身份验证方式设置为旧版的 mysql_native_password
。
MySQL 8 的连接方式:MySQL 8 默认使用了加密连接,而旧版本的 PHP 可能不支持。你可以尝试在连接数据库时指定 MYSQLI_CLIENT_SSL
选项来强制使用加密连接:
$mysqli = new mysqli('localhost', 'username', 'password', 'database', 3306, null, MYSQLI_CLIENT_SSL);
如果你的 MySQL 8 服务器配置了 SSL,请确保你已正确配置了 SSL 证书和密钥。
如果以上方法都无法解决问题,你可以尝试升级你的 PHP 版本到支持 MySQL 8 的最新版本。
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站