quanshiyinian 发表于 2014-12-17 22:19:27

discuz mysql_connect() 不支持 请检查 mysql 模块是否正确加载

故障提示:今天在linux 安装discuz 的时候出现错误提示‘mysql_connect() 不支持请检查mysql模块是否正确加载’,如下图:解决方法:(window系统的解决方法在最下面)
一、linux 解决方法:查看/usr/lib/php/modules/(64位的看/usr/lib64/php/modules/)里面根本没有mysql.so
找到centos5.4安装源文件,然后找到CentOS目录下的
php-mysql-5.1.6-20.el5.i386.rpm
php-pdo-5.1.6-20.el5.i386.rpm
两个文件,然后通过FTP上传到服务器。
执行安装:
rpm -i php-mysql-5.1.6-20.el5.i386.rpm --nodeps
pm -i php-pdo-5.1.6-20.el5.i386.rpm --nodeps
再查看so文件:
ls /usr/lib/php/modules/
dbase.so ldap.so mysqli.so mysql.so pdo_mysql.so pdo.so pdo_sqlite.so phpcups.so
mysql.so存在了。
然后配置
vi /etc/php.ini找到extension=msql.so,然后在它下方去掉前面分号然后添加如下:
extension=mysql.so
extension=mysqli.so
extension=pdo_MySQL.so
保存,重启httpd
/etc/init.d/httpd restart
去刷新网页试试,是不是mysql已经能连上了?
二、window 解决方法:1,在系统的 system32(C:\windows\system32)目录下缺少libmysql.dll文件,解决方法是找到php目录下的libmysql.dll,并将libmysql.dll复制到C:\ windows\system32目录中,然后重新启动Web服务。
2, 在C:\windows目录下的php.ini文件中,没有将“;extension=php_mysql.dll”中的前面一个“;”去掉,所以不能使用相应功能,解决方法是打开php.ini文件找到
;extension=php_mysql.dll
改成
extension=php_mysql.dll    //去掉前面的;使之生效
3, Mysql目录没有读取权限,正确的目录权限如下:
administrator   完全控制
system          完全控制
users         读取和运行+列出文件夹目录+读取
其他的用户权限全部删除,然后重启MYsql服务和Web服务
(注:以上设置无安全设置;建议修改后重启一下服务器)
4。,还要检查php.ini文件的权限(需要user权限),检查复制到system32里面的php文件的权限,检查php安装目录文件夹的权限.至少要有users默认权限.temp文件夹至少要有users组修改级别权限.

查询更多关于错误的教程:
页: [1]
查看完整版本: discuz mysql_connect() 不支持 请检查 mysql 模块是否正确加载