Discuz教程网

[已解决]mysql_connect() 不支持 请检查 mysql 模块是否正确加载

[复制链接]
authicon No_Fashion_! 发表于 2012-2-10 21:03:29 | 显示全部楼层 |阅读模式
mysql_connect()
不支持
请检查 mysql 模块是否正确加载
安装论坛出现这个  怎么解决!!!  急急急!!!
最佳答案
avatar
2012-2-10 23:07:09
首先搜了一下这个错误,出现这个问题的还是挺多的,大部分的解决办法如下:
一、在系统的 system32(C:\windows\system32)目录下缺少libmysql.dll文件,解决方法是找到php目录下的libmysql.dll,并将libmysql.dll复制到C:\ windows\system32目录中,然后重新启动Web服务。

二、在C:\windows目录下的php.ini文件中,没有将“;extension=php_mysql.dll”中的前面一个“;”去掉,所以不能使用相应功能,解决方法是打开php.ini文件找到;extension=php_mysql.dll    改成

extension=php_mysql.dll    //去掉前面的;使之生效

三、Mysql目录没有读取权限,正确的目录权限如下:

administrator   完全控制
system          完全控制
users           读取和运行+列出文件夹目录+读取
其他的用户权限全部删除,然后重启MYsql服务和Web服务
(注:以上设置无安全设置;建议修改后重启一下服务器)
重要,还要检查php.ini文件的权限,检查复制到system32里面的php文件的权限,检查php安装目录文件夹的权限.至少要有users默认权限.temp文件夹至少要有users组修改级别权限.


不行再看下边:
把以下代码保存为phpinfo.php:<?phpphpinfo();?>放在discuz所在目录中, 用浏览器访问它. 然后在phpinfo.php显示页面中查找字符串 mysql.如果MySQL已经安装, 并且php_mysql模块也正确装载了, 就能看到类似下面的表格:  mysql-------MySQL Support  enabledActive Persistent Links 1Active Links  1Client API version  5.0.37-------如果看不到, 而且你确定数据库已经安装了, 那么可能需要在服务器中加载libmysql.dll:打开httpd.conf (这个是Apache的配置文件), 加入:LoadFile "你的PHP目录/libmysql.dll"然后重启http服务.

我按照他说的做了之后,没能看到有mysql的信息,但是数据库确实已经运行无误。


于是搜了下“phpinfo()中没有Mysql” 结果是需要把 D:\php5\ext目录下的php_mysql.dll、php_mysqli.dll和上层目录中的libmysql.dll复制到system32
并将php的目录加到windows的系统路径里去,


在 Windows NT,2000,XP 和 2003 下:
  • 进入控制面板并打开“系统”图标(开始 -> 设置 -> 控制面板 -> 系统,Windows XP/2003 中是:开始 -> 控制面板 -> 系统)
  • 选择“高级”标签页
  • 点击“环境变量”按钮
  • 在“系统变量”栏中
  • 找到 Path 这一项(可能需要向下滚动才能找到)
  • 鼠标双击 Path 这一项
  • 在最后加入你的 PHP 目录,包括前面的“;”(例如: ;C:\php
  • 点击“确定”并重新启动电脑

好了,一切就绪,重启电脑,大功告成,一路绿灯,happying。。。

总结:理清思路,当出现这个错误时,先借助网络找到原因和解决方案,一个一个排除,直到解决问题,人多力量大嘛!
       排除的思路很重要,比如,在解决这个问题时,通过打开和停止mysql服务,可以看出,问题不是mysql,而是没有连接到mysql,需要调整与mysql相关的配置文件,一步一步来。



上一篇:Discuz :店长论坛官方七格调用插件!(更新至Discuz X2 正式版[20111221] )
下一篇:用qq注册论坛的时候有的网站注册时这么邮箱处这么自动就填写了qq邮箱的啊
authicon dly 发表于 2012-2-10 23:07:09 | 显示全部楼层    本楼为最佳答案   
首先搜了一下这个错误,出现这个问题的还是挺多的,大部分的解决办法如下:
一、在系统的 system32(C:\windows\system32)目录下缺少libmysql.dll文件,解决方法是找到php目录下的libmysql.dll,并将libmysql.dll复制到C:\ windows\system32目录中,然后重新启动Web服务。

二、在C:\windows目录下的php.ini文件中,没有将“;extension=php_mysql.dll”中的前面一个“;”去掉,所以不能使用相应功能,解决方法是打开php.ini文件找到;extension=php_mysql.dll    改成

extension=php_mysql.dll    //去掉前面的;使之生效

三、Mysql目录没有读取权限,正确的目录权限如下:

administrator   完全控制
system          完全控制
users           读取和运行+列出文件夹目录+读取
其他的用户权限全部删除,然后重启MYsql服务和Web服务
(注:以上设置无安全设置;建议修改后重启一下服务器)
重要,还要检查php.ini文件的权限,检查复制到system32里面的php文件的权限,检查php安装目录文件夹的权限.至少要有users默认权限.temp文件夹至少要有users组修改级别权限.


不行再看下边:
把以下代码保存为phpinfo.php:<?phpphpinfo();?>放在discuz所在目录中, 用浏览器访问它. 然后在phpinfo.php显示页面中查找字符串 mysql.如果MySQL已经安装, 并且php_mysql模块也正确装载了, 就能看到类似下面的表格:  mysql-------MySQL Support  enabledActive Persistent Links 1Active Links  1Client API version  5.0.37-------如果看不到, 而且你确定数据库已经安装了, 那么可能需要在服务器中加载libmysql.dll:打开httpd.conf (这个是Apache的配置文件), 加入:LoadFile "你的PHP目录/libmysql.dll"然后重启http服务.

我按照他说的做了之后,没能看到有mysql的信息,但是数据库确实已经运行无误。


于是搜了下“phpinfo()中没有Mysql” 结果是需要把 D:\php5\ext目录下的php_mysql.dll、php_mysqli.dll和上层目录中的libmysql.dll复制到system32
并将php的目录加到windows的系统路径里去,


在 Windows NT,2000,XP 和 2003 下:
  • 进入控制面板并打开“系统”图标(开始 -> 设置 -> 控制面板 -> 系统,Windows XP/2003 中是:开始 -> 控制面板 -> 系统)
  • 选择“高级”标签页
  • 点击“环境变量”按钮
  • 在“系统变量”栏中
  • 找到 Path 这一项(可能需要向下滚动才能找到)
  • 鼠标双击 Path 这一项
  • 在最后加入你的 PHP 目录,包括前面的“;”(例如: ;C:\php
  • 点击“确定”并重新启动电脑

好了,一切就绪,重启电脑,大功告成,一路绿灯,happying。。。

总结:理清思路,当出现这个错误时,先借助网络找到原因和解决方案,一个一个排除,直到解决问题,人多力量大嘛!
       排除的思路很重要,比如,在解决这个问题时,通过打开和停止mysql服务,可以看出,问题不是mysql,而是没有连接到mysql,需要调整与mysql相关的配置文件,一步一步来。
authicon  楼主| No_Fashion_! 发表于 2012-2-11 02:53:41 | 显示全部楼层
dly 发表于 2012-2-10 23:07
首先搜了一下这个错误,出现这个问题的还是挺多的,大部分的解决办法如下:
一、在系统的 system32(C:\wi ...

先问下这里

一、在系统的 system32(C:\windows\system32)目录下缺少libmysql.dll文件,解决方法是找到php目录下的libmysql.dll,并将libmysql.dll复制到C:\ windows\system32目录中,然后重新启动Web服务。

官方上说的是

4)移动LibMySQL动态链接库到系统目录
将X:\Server_Core\MySQL\bin\libmySQL.dll文件复制到 Y:\Windows\System32目录下。

而你这里说的是php 目录下的。 请问 一样吗?
我看了下 PHP目录下的和 libmySQL.dll 和mysql目录里的libmySQL.dll 文件大小不一样。
authicon dly 发表于 2012-2-11 12:05:44 | 显示全部楼层
No_Fashion_! 发表于 2012-2-11 02:53
先问下这里

一、在系统的 system32(C:\windows\system32)目录下缺少libmysql.dll文件,解决方法是找 ...

个人觉得用PHP目录的,你可以都试试那。。。
authicon  楼主| No_Fashion_! 发表于 2012-2-12 05:08:11 | 显示全部楼层
dly 发表于 2012-2-11 12:05
个人觉得用PHP目录的,你可以都试试那。。。

哦了。谢谢你。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2024-5-17 18:37

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表