今天在win7旗舰版的64位系统中架设php+apache+mysql的时候出现了这个问题,以下是解决这个问题的途径:
首先搜了一下这个错误,出现这个问题的还是挺多的,大部分的解决办法如下:
一、在系统的 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组修改级别权限.
以上是网上的解决方法,还是不行,我都试了三天了,郁闷的要死,我内存8G,只是想做本地测试的时候用,不然还要在服务器与本地之间传来传去的,很麻烦,所以我不甘心,接着搜索了下mysql_connect() 不支持:
把以下代码保存为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服务.
我也是这么做的,但是打开之后显示的就是:
<?phpphpinfo();?>很郁闷,不知道是不是我的代码写错了,但是我也是没有办法,只有按照下一步继续测试了。
==============================================================
于是搜了下“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 )
- 点击“确定”并重新启动电脑
====================================================================
重要的就是====号之间的问题,php_mysql.dll、php_mysqli.dll,这两个文集并不在system32下,我拷贝之,然后在Path里面添加了PHP目录。
修改之后,重启电脑,打开之后,登陆127.0.0.1/phpmyadmin,悲催,还是显示的“缺少 mysqli 扩展”,这让我非常伤心,但是我并没有再使用phpmyadmin,作为mysql的管理工具,而是使用了navicat8,下载地址我也上传了,navicat8_mysql_cs http://1000eb.com/71h8 ,需要的朋友可以去下载的,如果下载地址失效,可以到网上找一下,,,但是我有点不死心,不能说phpmyadmin不能正常打开,就说明连接不上mysql,我还是安装了thanksaas程序和DZ程序,居然,都成功了,既然成功了,也就说明,这是可以的,首先要说的是,我用的是phpcms的一键安装套件,PC_webserver9,整体效果不错,开始我一直以为是一键安装套件里面的mysql和php的版本不是64位的原因造成的呢,现在看来,这样的方法是可行的,至少我现在做成了!!