php5 与 mysql8的兼容问题
环境
Linux: ubuntu20.04
Mysql: 8.0.33
Php: 5.6
代码
# cat test.php
<?php$link = mysqli_connect("127.0.0.1", "root", "123456");if ($link) {echo "ok";
} else {echo "fail";
}
?>
复现方法
php test.php
问题描述
报错如下:
PHP Warning: mysqli_connect(): Server sent charset (255) unknown to the client. Please, report to the developers in /root/test.php on line 2
PHP Warning: mysqli_connect(): (HY000/2054): Server sent charset unknown to the client. Please, report to the developers in /root/test.php on line 2
原因
php5-php7与mysql8不兼容,mysqli无法使用。
MySQL8.0默认是utfmb4的格式,PHP默认的是UTF8格式
解决办法
将php升级到8.0以上,或者将mysql降到8以下