升级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的回答对我启发很大,

 


把以下代码保存为phpinfo.php:
<?php
phpinfo();
?>

放在discuz所在目录中, 用浏览器访问它. 然后在phpinfo.php显示页面中查找字符串 mysql.
如果MySQL已经安装, 并且php_mysql模块也正确装载了, 就能看到类似下面的表格:

  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服务.

 

我按照他说的做了之后,没能看到有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 )

点击“确定”并重新启动电脑

此文章由 ouzo 于 2011-07-04 13:38:27 编辑

本日志由 ouzo 于 2011-07-04 13:33:45 发表,目前已经被浏览 516 次,评论 0 次;

作者添加了以下标签: PHPmysqldzphpwind

引用通告:http://www.hiouzo.cn/Article/129/Trackback.ashx

评论订阅:http://www.hiouzo.cn/Article/129/Feeds.ashx

评论列表

    暂时没有评论
(必填)
(必填,不会被公开)