升级PHP 5.32之后模块不能正常加载了.之后卸载掉 .从新安装依然不能正常加载. 于是拿DZ的产品测试看看哪里的问题..(DZ真是好东西能检查组件.)
一、在系统的 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组修改级别权限.
但是,所有的方法都试过了,还是没能解决,于是我搜索了一下mysql_connect()不支持,
http://wenwen.soso.com/z/q141514137.htm的回答对我启发很大,
放在discuz所在目录中, 用浏览器访问它. 然后在phpinfo.php显示页面中查找字符串 mysql. mysql 我按照他说的做了之后,没能看到有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 ) 点击“确定”并重新启动电脑
把以下代码保存为phpinfo.php:
<?php
phpinfo();
?>
如果MySQL已经安装, 并且php_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服务.
Powered by Barefoot Networks Designed by ouzo 豫ICP备11028013号-1