wbh*_*ana 48 mysql mariadb laravel mariadb-10.3
突然得到
SQLSTATE[HY000]:一般错误:1835 格式错误的通信数据包(SQL:select * from
tb_userswhere (username= 121211) limit 1)
在 Laravel 上。
我已经检查过这个:MySQL: ERROR 2027 (HY000): Malformed packet,但似乎是另一种情况。
但是我的 Laravel 出现了我之前提到的错误。有这方面的经验吗?
小智 39
我所有运行 PHP 7.2 的 Laravel 应用程序都有这个错误,但那些运行在 PHP 7.3 上的应用程序没有。于是我把PHP版本改成了7.3,问题就解决了。(运行 Laravel 7)
wbh*_*ana 27
找到了解决办法。不知道是永久的还是暂时的:
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => false,
'engine' => null,
**'options' => [PDO::ATTR_EMULATE_PREPARES => true]**
],
Run Code Online (Sandbox Code Playgroud)
确保
'选项' => [PDO::ATTR_EMULATE_PREPARES => 真]
存在于 mysql 连接上。
Nee*_*eel 18
在将 MariaDB 更新到 v10.3.26(和 10.2.35)之后,昨天最近的 MariaDB 更新后,这个问题开始发生在很多人身上。此问题已在此处解决:https : //jira.mariadb.org/browse/MDEV-24121
截至目前,这些是唯一已知的解决方案:
1. 将您的 PHP 升级到 7.3:这些错误似乎显示在使用 php < 7.3 的站点上。因此,将您网站的 PHP 升级到 7.3 或 7.4 版应该可以解决该问题。
缺点:并不是很多应用程序都可以像那样轻松升级到 php 7.3。有时您可能需要更新您的平台,重写一些代码或检查所有依赖项,看看它们是否都适用于 7.3。对于许多成熟的应用程序,这可能不是一个快速解决方案。
2. 降级 MariaDB:这是一个临时修复,因为降级 MariaDB 会将其设置回之前的状态。
缺点:通过单击 cpanel 中的按钮来降级 MariaDB 并不是一件容易的事情。您可能需要网络工程师的帮助来为您进行降级。之后,您可能还需要对 MariaDB 软件包进行 yum 锁定,以避免在修补之前对其进行更新。
3. 添加'options' => [PDO::ATTR_EMULATE_PREPARES => true]到数据库配置:这已在一些答案中提出,这可能会解决 1 个问题,但会引发许多其他问题。
缺点:将上述内容添加到数据库配置文件为我解决了 1 个问题,但它也打开了很多其他失败的查询,数据库插入失败等。所以我根本不推荐这个修复。
4. 等待 MariaDB 更新:下一次更新应该会解决这个问题。
缺点:我们不知道需要多长时间才能获得针对旧版 PHP 修复此问题的更新。甚至可能需要几天时间,某些应用程序可能无法等待那么长时间。
总而言之,这些是我目前能看到的唯一选择。只希望尽快修复它。
短期修复:总之,考虑到我的应用程序需要大量工作才能为 php 7.3 做好准备,降级 MariaDB 对我来说似乎是唯一简单(差不多)的临时修复。我将 MariaDB 降级到 10.2.34 并锁定它,错误不再出现。
长期修复:最好最终让您的应用程序为 php 7.3 做好准备并升级到 php 7.3,这样 MariaDB 新版本也不会抱怨。
mariadb 一夜之间更新后也遇到了这个问题。降级 mariadb 为我解决了这个问题。
https://support.cpanel.net/hc/en-us/articles/360056772334
| 归档时间: |
|
| 查看次数: |
16293 次 |
| 最近记录: |