mysql_connect() 不支持 请检查 mysql 模块是否正确加载
<p>升级PHP 5.32之后模块不能正常加载了.之后卸载掉 .从新安装依然不能正常加载. 于是拿DZ的产品测试看看哪里的问题..(DZ真是好东西能检查组件.)</p><div style="page-break-after: always;"><span style="display: none;"><!--more-->& nbsp ;</span></div><p>一、 在系统的 system32(C:windowssystem32)目录下缺少libmysql.dll文件,解决方法是找到php目录下的 libmysql.dll,并将libmysql.dll复制到C: windowssystem32目录中,然后重新启动Web服务。</p><p>二、在C:windows目录下的php.ini文件中,没有将“;extension=php_mysql.dll”中的前面一个“;”去掉,所以不能使用相应功能,解决方法是打开php.ini文件找到;extension=php_mysql.dll 改成</p><p>extension=php_mysql.dll //去掉前面的;使之生效</p><p>三、Mysql目录没有读取权限,正确的目录权限如下:</p><p>administrator 完全控制
system 完全控制
users 读取和运行+列出文件夹目录+读取
其他的用户权限全部删除,然后重启MYsql服务和Web服务
(注:以上设置无安全设置;建议修改后重启一下服务器)
重要,还要检查php.ini文件的权限,检查复制到system32里面的php文件的权限,检查php安装目录文件夹的权限.至少要有users默认权限.temp文件夹至少要有users组修改级别权限.</p><p> </p><p>但是,所有的方法都试过了,还是没能解决,于是我搜索了一下mysql_connect()不支持,</p><p>http://wenwen.soso.com/z/q141514137.htm的回答对我启发很大,</p><p>
把以下代码保存为phpinfo.php:
<?php
phpinfo();
?></p><p>放在discuz所在目录中, 用浏览器访问它. 然后在phpinfo.php显示页面中查找字符串 mysql.
如果MySQL已经安装, 并且php_mysql模块也正确装载了, 就能看到类似下面的表格:</p><p> mysql
-------
MySQL Support enabled
Active Persistent Links 1
Active Links 1
Client API version 5.0.37
-------
如果看不到, 而且你确定数据库已经安装了, 那么可能需要在服务器中加载libmysql.dll:
打开httpd.conf (这个是Apache的配置文件), 加入:
LoadFile "你的PHP目录/libmysql.dll"
然后重启http服务.</p><p> </p><p>我按照他说的做了之后,没能看到有mysql的信息,但是数据库确实已经运行无误。</p><p>于是搜了下“phpinfo()中没有Mysql” 结果是需要把 D:php5ext目录下的php_mysql.dll、php_mysqli.dll和上层目录中的libmysql.dll复制到system32</p><p>并将php的目录加到windows的系统路径里去,</p><p>在 Windows NT,2000,XP 和 2003 下:</p><p>进入控制面板并打开“系统”图标(开始 -> 设置 -> 控制面板 -> 系统,Windows XP/2003 中是:开始 -> 控制面板 -> 系统)</p><p>选择“高级”标签页</p><p>点击“环境变量”按钮</p><p>在“系统变量”栏中</p><p>找到 Path 这一项(可能需要向下滚动才能找到)</p><p>鼠标双击 Path 这一项</p><p>在最后加入你的 PHP 目录,包括前面的“;”(例如: ;C:php )</p><p>点击“确定”并重新启动电脑</p>