首页 >> 国内 >

2022年01月21日整理发布:怎么解决php不兼容问题

2022-01-21 15:43:20 来源: 用户: 

我将向您解释如何解决php不兼容的问题。相信朋友们也应该密切关注这个话题。现在,让我们来谈谈如何为我的朋友解决php不兼容的问题。边肖还收集了关于如何解决php不兼容问题的相关信息。我希望你看到后会喜欢。

php不兼容的解决方案:1。更改“my.cnf”以指定字符集;2.更新现有的帐户密码,方法是“更改用户的根“@”%,该根用.";3.重新安装Mysql8.0。

本文操作环境:windows7系统,PHP 7.1版DELL G3电脑。

PHP 8不兼容问题总结

安装Mysql8.0后,我们需要和原来的PHP一起工作。然而,曾经在Mysql5.1中运行良好的代码突然报告了一个错误,这似乎需要一些额外的工作。

错误:PDO :3360 _ _ construct 3360服务器发送了客户端未知的字符集(255),请向开发者报告根据网上数据,Mysql8.0将默认字符集改为utfmb4,因此无法识别与客户端(不仅仅是PHP)的通信。我们需要更改my.cnf来指定字符集。

[客户]

默认字符集=utf8

[mysql]

默认字符集=utf8

[mysqld]

排序规则-服务器=utf8_unicode_ci

字符集服务器=utf8

错误:PDO : __构造3360服务器请求客户端未知的身份验证方式[cache _ sha2 _ password]根据网上数据,mysql8.0中默认的模式是cache _ sha2 _ password,这是用户身份验证的加密方式不兼容造成的。旧版本的兼容性问题是由mysql_native_password的旧版本加密方式造成的。

建议:《PHP视频教程》

我们可以指定要设置的加密方法:

#新用户使用旧的加密方法设置密码。

CREATE USER username@localhost通过“password”用mysql_native_password标识;

#更新现有的帐户密码加密方法

将使用mysql_native_password标识的用户“root ”@“%”更改为“password”;但是更好的方法是添加一行默认配置:

[mysqld]

default _ authentication _ plugin=MySQL _ native _ password

错误:用户“root ”@“localhost”的访问被拒绝(使用密码: yes)

mysql授予*上的所有权限。* TO ' oss ' @ ' %

错误1045 (28000) :当我向其他用户添加权限时,用户“root”@“localhost”(使用密码3360 yes)的访问被拒绝报告了一个错误。我没有权限的原因是我不小心删除了root状态的用户。虽然网上有很多解决这个问题的文档,但是我重构的root用户仍然有grant _ priv3360y但是仍然不能成功分配权限。我头疼。

解决方案:重新安装参考文章来安装Mysql8.0

摘要

mysql8.0有哪些新特性?我没有详细查看文档,但是兼容性首先让我痛苦。幸运的是,在解决了这三个问题之后,我的PHP程序成功运行了。接下来,我将把PHP5.1升级到PHP7。以上就是如何解决php不兼容问题的细节!

来源:php中文网站

  免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!

 
分享:
最新文章