php를 사용하여 데이터베이스 연결 실패에 대한 해결 방법: 1. php.ini 구성 파일을 열고 "extension=php_mysql.dll" 앞의 주석 세미콜론을 제거한 다음 "php_mysql.dll"의 절대 경로를 다음을 통해 지정합니다. 2. mysql my.ini 구성 파일을 수정합니다. 3. 데이터 세트 문자 세트를 수정합니다.
이 튜토리얼의 운영 환경: Windows 10 시스템, PHP 버전 8.1, Dell G3 컴퓨터.
PHP를 사용하여 데이터베이스에 연결하지 못한 경우 어떻게 해야 하나요?
PHP가 mysql에 연결할 때 발생하는 Pips(솔루션 사용, 개인 테스트가 효과적임)
환경: win10 + PHP5.48 + Apache2.2 + Mysql8.017
PHP 연결 인스턴스
<?php $link = mysql_connect("localhost", "myuser", "mypasswd"); #myuser: 用户名 #mypasswd: 密码 var_dump($link); mysql_close();?>
Pit 1 정의되지 않은 함수 mysql_connect()
1.1.1 Extension=php_mysql.dll 앞의 주석 세미콜론을 제거합니다.
1.1.2 php_mysql의 절대 경로를 지정합니다. 확장자를 통한 .dll
1.2.1 php.ini 파일을 c:windowssystem32
mysql 8.x 이후에는 이전 mysql_native_password 대신 caching_sha2_password가 기본 인증 플러그인입니다.
의 my.ini 구성 파일을 수정하세요. 기본 확인 방법이 caching_sha2_password인 것을 볼 수 있는데 여기서는 mysql_native_password
루트 사용자의 인증 플러그인이 mysql_native_password
로 변경된 것을 확인할 수 있습니다. 인증 방법이 변경되지 않은 경우 다음 작업을 수행하세요
# 登陆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视频教程》
위 내용은 PHP를 사용하여 데이터베이스에 연결하지 못한 경우 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!