php 系统不支持 mysql_php mysql_connect() 不支持的解决方案(转)

当遇到PHP系统不支持mysql_connect()函数时,可能是由于libmysql.dll缺失、php.ini配置错误或目录权限问题导致。解决方案包括将libmysql.dll复制到system32目录,修改php.ini中extension=php_mysql.dll的配置,确保正确权限设置,以及在IIS环境中检查extension_dir和动态模块配置。记得在修改后重启相关服务。

mysql_connect()函数是一个php与mysql数据库连接函数,如果你的php不支持mysql_connect()函数就是你的数据库不能与mysql连接了,下面我来总结一下解决mysql_connect()不能使用的方法。如果是apache环境我们参考下

面办法解决

一、在系统的 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()不支持,

把以下代码保存为phpinfo.php:

<?php

phpinfo();

?>

如果iis环境我们参考下面办法解决

在整合IIS和PHP时需要注意的:

安装PHP

(1) 解压缩下载的php-5.1.4-Win32.zip文件,并将其复制到:

X:/Server_Core/PHP ;

(2) 进入X:/Server_Core/PHP文件夹,将php.ini-dist 重命名为 php.ini ;

(3) 打开php.ini文件,找到:

extension_dir = "./"

将其改为;

extension_dir = "X:/Server_Core/PHP/ext"

(4) 找到:Windows Extensions

在Windows Extensions下方的动态模块配置中,需要打开以下模块支持:(去掉模块配置每行前面的;号即可)

extension=php_mbstring.dll

extension=php_gd2.dll

extension=php_mysql.dll

(5) 找到:

disable_functions =

改为:

disable_functions =

passthru,exec,system,popen,chroot,escapeshellcmd,escapeshellarg,shell_exec,proc_open,proc_get_status其中第四条:

--------------------------------------------------------------------------------

(4) 找到:Windows Extensions

在Windows Extensions下方的动态模块配置中,需要打开以下模块支持:(去掉模块配置每行前面的;号即可)

extension=php_mbstring.dll

extension=php_gd2.dll

extension=php_mysql.dll ----->就是因为这行前面的分号;没去掉才导致上述报错的,即去掉分号,重启一下Apache服务器即可!!!

<think>嗯……用户这次是明确要求解决PHPmysql_connect()不支持的问题。从引用内容来看,用户应该是在Linux或Windows环境下配置PHP时遇到了MySQL扩展加载失败的情况。 用户提供的三个引用其实已经涵盖了主要解决方案:引用[1]提到Linux下要检查php扩展目录并重启Apache;引用[2]提到Windows需要复制dll文件到system32;引用[3]则提示了可能存在的函数禁用问题。不过用户特别说明这些只是参考,需要我整合出完整方案。 上次我给的回复集中在Linux环境,这次应该补充Windows方案。注意到用户没说明具体操作系统,所以必须把两大平台方案都列清楚。核心思路其实就是三个方向:检查扩展文件是否存在、确认php.ini配置正确、排除函数禁用情况。 用户可能是个正在搭建网站的开发者,语气比较急切。ta反复强调“正确加载方法”,说明之前尝试失败过。需要特别注意给出具体的路径示例(比如Linux的/usr/lib/php/modules),因为引用里提到用户容易找错目录。 安全方面要提醒禁用危险函数可能带来的风险。最后考虑加入版本说明很重要——PHP 7开始mysql_connect就被移除了,这个坑很多人会踩。用户没提PHP版本,但根据错误信息判断ta用的应该是老版本PHP。 </think>以下是解决 `mysql_connect()` 不支持问题的完整步骤,整合了Linux和Windows系统解决方案: ### 🔧 解决方案步骤 1. **检查PHP扩展目录** - **Linux**:确认模块文件存在 ```bash ls /usr/lib/php/modules/ # 32位系统 ls /usr/lib64/php/modules/ # 64位系统 ``` 确保存在 `mysql.so` 或 `mysqli.so` 文件[^1]。 - **Windows**: 检查 `php/ext/` 目录下是否有 `php_mysql.dll` 和 `php_mysqli.dll`,并复制到 `C:\Windows\System32\`[^2]。 2. **启用MySQL扩展** - 编辑 `php.ini` 文件: ```ini ; 取消以下扩展的注释(删除行首分号) extension=mysql extension=mysqli ; Windows还需指定扩展路径(示例) extension_dir = "C:\php\ext" ``` 3. **重启Web服务** ```bash # Linux systemctl restart apache2 # 或 httpd/nginx # Windows:通过服务管理器重启Apache/IIS ``` 4. **验证扩展加载** 创建 `info.php` 文件: ```php <?php phpinfo(); ?> ``` 访问此页面,搜索 `mysql` 或 `mysqli`,确认模块状态为 **enabled** ✅ 5. **检查函数禁用列表** 在 `php.ini` 中检查 `disable_functions`,移除 `mysql_connect`(若有): ```ini disable_functions = passthru,exec,... # 删除mysql_connect[^3] ``` --- ### ⚠️ 注意事项 1. **路径一致性** Windows中 `extension_dir` 路径需与实际扩展目录匹配(如 `C:\php\ext`)。 2. **版本兼容** PHP 5.x 原生支持 `mysql_connect()`,**PHP 7+ 已移除此扩展**,需改用 `mysqli` 或 PDO。 3. **依赖组件** Linux需安装对应包: ```bash # CentOS yum install php-mysql # Ubuntu apt-get install php-mysql ``` --- ### ❓ 相关问题 1. PHP 7+ 中如何替代 `mysql_connect()` 函数? 2. `phpinfo()` 页面中未显示MySQL扩展可能有哪些原因? 3. 如何修复Linux环境下PHP扩展目录识别错误的问题? > 引用说明: > [^1]: 需确认扩展文件存在并重启服务 > [^2]: Windows需复制DLL文件到系统目录 > [^3]: 禁用函数列表可能导致连接失败
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值