Solution en cas d'échec de connexion à la base de données en utilisant php : 1. Ouvrez le fichier de configuration php.ini, supprimez le point-virgule de commentaire devant "extension=php_mysql.dll", et spécifiez le chemin absolu de "php_mysql.dll" via extension ; 2. Modifier le fichier de configuration mysql my.ini ; 3. Modifier le jeu de caractères du jeu de données.
L'environnement d'exploitation de ce tutoriel : système Windows 10, PHP version 8.1, ordinateur Dell G3.
Que dois-je faire si je ne parviens pas à me connecter à la base de données en utilisant php ?
Pips rencontrés lorsque PHP se connecte à mysql (avec des solutions, le test personnel est efficace)
Environnement : win10 + PHP5.48 + Apache2.2 + Mysql8.017
PHP Instance de connexion
<?php $link = mysql_connect("localhost", "myuser", "mypasswd"); #myuser: 用户名 #mypasswd: 密码 var_dump($link); mysql_close();?>
Pit 1 Appel à la fonction non définie mysql_connect()
1.1.1 Supprimez le point-virgule de commentaire devant extension=php_mysql.dll
1.1.2 Spécifiez le chemin absolu de php_mysql ; .dll via l'extension
1.2.1 Copiez le fichier php.ini dans c:windowssystem32
Après mysql 8.x, caching_sha2_password est le plug-in d'authentification par défaut au lieu du précédent mysql_native_password.
Vous pouvez voir que la méthode de vérification par défaut est caching_sha2_password, ici elle est modifiée en mysql_native_password
Vous pouvez voir que le plug-in d'authentification de l'utilisateur root a été remplacé par mysql_native_password
Si la méthode d'authentification n'a pas changé, effectuez les opérations suivantes
# 登陆mysqlmysql -uroot -p# 使用mysql数据库use mysql;# 修改身份验证插件ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
坑3 字符集错误 sever sent charset unknowd to the client ,Please report to the decelopers
character-set-server
默认是utf8mb4
,不再是5.x时代的utf8了修改mysql的my.ini配置文件,具体修改条目如下:(这里只展示了需要修改的条目,原配置文件内容很多)
[client]default-character-set=utf8[mysql]default-character-set=utf8[mysqld]collation-server = utf8_unicode_cicharacter-set-server = utf8
切记:任何每一次的修改,都需要重启Apache服务,以及mysql服务!!!
推荐学习:《PHP视频教程》
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!