php数据库不支持,php mysql_connect() 不支持的解决方案

php mysql_connect() 不支持的解决方案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:

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服务器即可!!!

/php/25854.htmlwww.phpzy.comtrue/php/25854.htmlTechArticlephp mysql_connect() 不支持的解决方案 mysql_connect()函数是一个php与mysql数据库连接函数,如果你的php不支持mysql_connect()函数就是你的数据库不能与mysql连接了,下面我来总结一下解决mysql_co...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ‘caching_sha2_password’ 是 MySQL 8.0 版本引入的一种插件,用于增强对用户密码的加密保护。在连接数据库时,如果发生 [tc_mysql::connect]: mysql_real_connect: authentication plugin 'caching_sha2_password' 错误,可能是以下两个原因之一: 1. MySQL 8.0 版本之前的客户端与 MySQL 8.0 版本以上的服务器进行连接时,由于默认加密插件不匹配,导致认证失败。解决方法是升级客户端版本或为相应的用户更改默认的加密插件。 2. MySQL 8.0 版本以上的服务器设置了默认使用 'caching_sha2_password' 插件进行认证,但客户端版本较低,并不支持该插件。解决方法是在服务器端修改用户的加密插件为旧版本所支持的插件,如 'mysql_native_password'。 在解决该错误时,可以采取以下步骤: 1. 升级客户端版本,确保与服务器兼容。 2. 在服务器端,找到相应用户并修改其加密插件为旧版本所支持的插件。 3. 如果连接仍然失败,可以尝试更新客户端的 MySQL 驱动程序,或使用其他不同版本的驱动程序。 总的来说,[tc_mysql::connect]: mysql_real_connect: authentication plugin 'caching_sha2_password' 错误是由于客户端与服务器的加密插件不匹配所致,需要升级客户端版本或修改服务器端的用户加密插件来解决。 ### 回答2: 这个错误是由于MySQL数据库连接时使用了"authentication plugin 'caching_sha2_password'",但是相应的驱动程序不支持此插件所导致的。 为了解决这个问题,有以下几种方法: 1. 更新驱动程序:查找并下载最新版本的MySQL驱动程序。新版本的驱动程序通常会支持新的插件。安装更新的驱动程序后,再次尝试连接数据库。 2. 修改MySQL用户的身份验证插件:如果使用的是MySQL 5.7以上版本,可以尝试将用户的身份验证插件修改为旧的插件,例如'mysql_native_password'。这可以通过修改MySQL用户的身份验证插件选项以及刷新权限来完成。 3. 修改MySQL服务配置:在MySQL配置文件中,可以尝试禁用所有新的身份验证插件,只使用旧的插件。找到MySQL配置文件(通常位于/etc/mysql目录下),找到并编辑my.cnf或my.ini文件,在[mysqld]部分添加或修改一行如下配置:default_authentication_plugin = mysql_native_password。保存文件后,重启MySQL服务。 以上是解决"tc_mysql::connect: mysql_real_connect: authentication plugin 'caching_sha2_password'"错误的几种方法。根据具体情况选择合适的方法来解决问题。 ### 回答3: 认证插件 'caching_sha2_password' 导致 MySQL 连接错误的可能原因有以下几点。 首先,该错误可能是因为 MySQL 服务器使用了不同的身份验证插件,而 PHP 中的 MySQL 扩展不支持该插件。在较新版本的 MySQL 中,默认身份验证插件是 'caching_sha2_password',而较旧版本的 PHP MySQL 扩展只支持旧的身份验证插件。 解决这个问题的一种方法是升级 PHP 版本,或者使用支持新身份验证插件的第三方 MySQL 扩展库,例如 MySQLi 或 PDO。这些扩展库兼容较新版本的 MySQL,并能正确地处理 'caching_sha2_password' 插件。 另外,该错误也可能是由于 MySQL 服务器未正确配置所致。您可以检查 MySQL 的配置文件(通常是 my.cnf 或 my.ini)中的设置。确保在 [mysqld] 部分中,有一个正确的默认身份验证插件设置,如下所示: default_authentication_plugin = mysql_native_password 如果该行不存在,或者设置为其他非 'mysql_native_password' 插件,可尝试添加或修改该设置并重启 MySQL 服务器。 最后,如果您无权更改 MySQL 服务器的配置或升级 PHP 版本,同时又无法使用其他支持新身份验证插件的扩展库,您可以联系服务器管理员或开发者,以获取进一步的帮助和解决方案
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值