PHP가 mysql에 연결할 수 없는 문제에 대한 해결 방법: 먼저 [hosts] 파일을 찾아 기본적으로 읽기 전용으로 만든 다음 메모장으로 열고 파일 끝에 [127.0.0.1 localhost]를 추가하고 복사합니다. 데스크탑으로 갑니다.
php에서 mysql에 연결할 수 없는 문제에 대한 해결 방법:
질문 1
오늘 노트북에 mysql과 php를 설치했는데 모든 것이 정상적으로 설치되었습니다(php@IIS7.5-fastCGI). 그런데 phpmyadmin을 이용하여 접속하여 테스트를 하면 "#2002 연결할 수 없습니다."라는 오류가 나옵니다. 다른 프로그램을 사용해도 같은 문제가 발생합니다.
확인해 보니 php의 mysql 확장이 제대로 설치되어 있고 mysql 서비스도 정상적으로 시작되는군요. 이상하네요. navicat을 이용해서 다시 연결했더니 연결이 되더군요. . php와 mysql간의 통신에 문제가 있는 것 같습니다.
바이두에서 검색한 결과 문제가 발견되었습니다.
mysql_connect() 함수 데이터베이스 서버(서버) 매개변수가 현재 localhost로 설정되어 있는데 127.0.0.1로 변경하면 정상적으로 접속이 가능합니다.
시스템 호스트 파일은 127.0.0.1에서 localhost까지의 해상도를 제공하지 않습니다.
해결 방법(win7 시스템을 예로 들어): C:\Windows\System32\drivers\etc\hosts 파일을 찾습니다. 기본값은 읽기 전용입니다. 데스크톱과 같은 다른 경로에 복사본을 복사해야 합니다. , 파일을 열고(열기 방법: 메모장) 파일 끝에 127.0.0.1 localhost
127.0.0.1 localhost
如果已存在去掉其前面的“#”。
问题二
php脚本可以正常运行,如phpinfo()。
只要一出现“mysql_connect”函数,就没反应,也不报错。
如 $conn = mysql_connect("127.0.0.1","root","xxxx") or die("MYSQL数据库连接失败:".mysql_error());
apache日志目录error.log中出现
PHP Warning: PHP Startup: Unable to load dynamic library 'c:\\php\\ext\\php_mysql.dll'
解决办法:
将“libmysql.dll”复制到apache的bin目录下。然后重启,观察error.log,如果错误消失,那恭喜了。
另:网上资料也有说将““libmysql.dll””“php_mysql.dll”复制到windows/system32的。
问题三
代码如下
$link_id=@mysql_connect( "localhost ", "sampadm ", "secret "); //以下代码省略 ?>
运行时出现如下提示:
fatal error: call to undefined function mysql_connect() in var/www/html/mytest.php
解决方法:
1、php.ini中
extension_dir设置为 "d:\apache2\php\ext "绝对路径,否则有些环境中会出错。
打开下面两行功能扩展
extension=php_mysql.dll
extension=php_mysqli.dll
2、拷贝libmysql.dll(php目录下)和php_mysql.dll(php/ext目录下)至c:\windows\system32目录下(libmysql.dll必须为php目录下,比如我的为D:\apache2\php目录下的libmysql.dll,php_mysql.dll则在D:\apache2\php\ext)
3、测试,
1> 先打开命令行
A)依次点击“开始”菜单-> “mysql”-> “mysql5 server”-> “MySQL Command Line Client”
//如此步成功则mysql安全成功,失效则mysql安装失败,请卸载后重装
B)输入密码
//此步正常则说明 root账户的密码正确。失败则账号密码有错
2> 新建文件至主目录,并保存为testmysql.php,接着在浏览器中输入http://localhost/testmysql.php
질문 2
phpinfo()와 같은 php 스크립트는 정상적으로 실행될 수 있습니다.$conn = mysql_connect("127.0.0.1","root","xxxx") 또는 die("MYSQL 데이터베이스 연결 실패:".mysql_error());
PHP 경고가 error.log에 나타납니다. PHP 시작: 동적 라이브러리 'c:\\php\\ext\\php_mysql.dll'을 로드할 수 없습니다.
해결책:
복사 "libmysql.dll"을 아파치의 bin 디렉토리에 복사하세요. 그런 다음 다시 시작하고 error.log를 관찰하세요. 오류가 사라지면 축하합니다.🎜🎜 코드는 다음과 같습니다. 🎜또 다른: 온라인 정보에 따르면 "libmysql.dll" 및 "php_mysql.dll"을 windows/system32에 복사하라고 나와 있습니다.
질문 3
PHPIniDir "D:/ccopen/php5/" LoadModule php5_module "D:/ccopen/php5/php5apache2_2.dll" AddType application/x-httpd-php .php🎜실행할 때 다음 프롬프트가 나타납니다. 🎜🎜치명적인 오류: var/www/html/mytest.php🎜🎜🎜에서 정의되지 않은 함수 mysql_connect()를 호출합니다. 🎜🎜🎜 1. php.ini의 🎜🎜 Extension_dir이 "d:\apache2\php\ext" 절대 경로로 설정되어 있습니다. 그렇지 않으면 일부 환경에서는 오류가 발생합니다. 🎜🎜 함수 확장의 다음 두 줄을 엽니다. 🎜🎜🎜🎜 Extension=php_mysql.dll 🎜🎜🎜🎜 Extension=php_mysqli.dll 🎜🎜🎜🎜2 libmysql.dll(php 디렉터리에 있음)과 php_mysql.dll(php)을 복사합니다. /ext 디렉토리 다음) c:\windows\system32 디렉토리(libmysql.dll은 php 디렉토리에 있어야 합니다. 예를 들어 제 것은 D:\apache2\php 디렉토리에 있는 libmysql.dll이고 php_mysql.dll은 D에 있습니다) :\apache2\php\ ext) 🎜🎜3. 테스트,
http://localhost/testmysql.php
(혹은 http)를 입력하세요. :/ /localhost:81/testmysql.php) 🎜🎜작동하지 않으면 Apache가 php 및 mysql 메소드를 로드했는지 확인하십시오. 🎜🎜apache에서 php5를 지원하려면 httpd.conf 파일에 다음 세 줄을 추가하십시오. 🎜rrreee🎜php.ini에서 다음 두 줄의 세미콜론을 제거하세요. 🎜🎜🎜🎜extension=php_mysql.dll 🎜🎜🎜🎜extension=php_mysqli.dll🎜🎜🎜🎜 php_mysql.dll 및 libmysql.dll을 system32에 복사하세요🎜 🎜 아파치 서버 다시 시작🎜 🎜🎜관련 영상 추천 : 🎜초보부터 마스터까지 PHP 프로그래밍🎜🎜🎜위 내용은 php가 mysql에 접속이 안되면 어떻게 해야 하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!