首页 >后端开发 >PHP问题 > 正文

php无法连接mysql怎么办

原创2020-11-04 10:08:260811

php无法连接mysql的解决办法:首先找到【hosts】文件,并默认为只读;然后用记事本打开,在文件末尾添加【127.0.0.1 localhost】复制到桌面。

php无法连接mysql的解决办法:

问题一

今天给本本装上mysql和php,一切安装都很正常(php@IIS7.5-fastCGI)。但用phpmyadmin连接测试时却出现“#2002无法连接”的错误,用其它程序也是同样问题。

检查了下,php的mysql扩展正确安装,mysql服务正常启动--那就奇了怪了。又用navicat连接,居然连上了。。看来是php和mysql间的通讯出了问题。

百度了一下,问题被揪出来了:

mysql_connect()函数数据库服务器(server)参数当前设置为localhost,但当其更改为127.0.0.1后又可以正常访问。

系统hosts文件未提供127.0.0.1到localhost的解析。

解决方法(以win7系统为例):找到C:\Windows\System32\drivers\etc\hosts文件,默认为只读,你需要复制一份到其他路径如桌面,打开文件(打开方式:记事本),在文件末尾添加: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(或者http://localhost:81/testmysql.php)

如果不行查看一下apache是否加载了php与 mysql方法

apache中支置对php5的支持httpd.conf文件中加入下面三行

PHPIniDir "D:/ccopen/php5/"
LoadModule php5_module "D:/ccopen/php5/php5apache2_2.dll"
AddType application/x-httpd-php .php

php.ini中去掉下面两行分号

  • extension=php_mysql.dll

  • extension=php_mysqli.dll

将php_mysql.dll和libmysql.dll拷到system32

重起apache服务器

相关视频推荐:PHP编程从入门到精通

以上就是php无法连接mysql怎么办的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 相关标签:php mysql
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 专题推荐

    作者信息

    coldplay.xixi

    好好学习 天天向上

    最近文章
    重点详解Java类和对象1409
    浅析php简单操作mysql锁机制3019
    php无法加载mysql怎么办1595
    推荐视频教程
  • PHP零基础视频教程PHP零基础视频教程
  • 行业大牛 ,细说PHP作者,现身PHP中文网直播送书300本,PHP中文网学员超级福利!行业大牛 ,细说PHP作者,现身PHP中文网直播送书300本,PHP中文网学员超级福利!
  • PHP数据库编程零基础入门到精通PHP数据库编程零基础入门到精通
  • PHP经典算法面试题PHP经典算法面试题
  • PHP字符串处理(玉女心经版)PHP字符串处理(玉女心经版)
  • PHP进阶篇-函数(玉女心经版)PHP进阶篇-函数(玉女心经版)
  • 视频教程分类