首页 > php教程 > php手册 > 正文

php无法连接mysql问题

php中文网
发布: 2016-05-25 16:52:49
原创
1396人浏览过

问题一:今天给本本装上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:WindowsSystem32driversetchosts文件,默认为只读,你需要复制一份到其他路径如桌面,打开文件(打开方式:记事本),在文件末尾添加:127.0.0.1 localhost如果已存在去掉其前面的"#"。

问题二:php脚本可以正常运行,如phpinfo()。

立即学习PHP免费学习笔记(深入)”;

只要一出现"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的。

问题三:

<?php
//以上代码省略 
$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:pache2phpext "绝对路径,否则有些环境中会出错。

点卡销卡源码
点卡销卡源码

点卡销卡源码是一个以php+MySQL进行开发的点卡回收平台源码。软件必须使用宝塔面板进行搭建,否则有可能会出现无法安装的问题。

点卡销卡源码 1
查看详情 点卡销卡源码

打开下面两行功能扩展

extension=php_mysql.dll
extension=php_mysqli.dll
登录后复制

2.拷贝libmysql.dll(php目录下)和php_mysql.dll(php/ext目录下)至c:windowssystem32目录下(libmysql.dll必须为php目录下,比如我的为D:pache2php目录下的libmysql.dll,php_mysql.dll则在D:pache2phpext) 

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速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号