gpt4 book ai didi

php - Laravel/MySQL 错误 : SQLSTATE[HY000]: General error: 1835 Malformed communication packet

转载 作者:行者123 更新时间:2023-12-03 11:21:50 25 4
gpt4 key购买 nike

早上好。我在 VPS 服务器上使用 Laravel。
简短情况描述:昨天一切正常(我们的网站几个月都运行良好),今天早上我从同事那里醒来,发现我们的两个网站都关闭了。
尝试访问它们时,我们收到错误消息:

SQLSTATE[HY000]: General error: 1835 Malformed communication packet (SQL: select * from users where id = 1 limit 1)


我在网上查过,找不到解决办法。我尝试将 MySQL 升级到最新版本 ( Maria DB 10.3 )
我试图为数据库用户重置密码。 (也没有变化)
我检查并尝试解决方案设置 read_rnd_buffer_size=256K在 my.cnf 文件中进行 mysql 设置
当我尝试直接在 phpMyAdmin 中调用此函数时 select * from users where id = 1 limit 1它返回预期的结果。
我将感谢每一个帮助,因为我们所有的业务都依赖于这些平台,我需要尽快让它们工作。
问候,阿蒂斯。
编辑:
当我尝试禁用导致错误的函数时,它只显示下一个函数,等等。所以我相信Laravel根本无法与mysql连接。
经过深入研究,我发现只有 Laravel 无法连接到数据库。在同一台服务器上,我有 2 个 Laravel 应用程序、Codeigniter 和 wordpress。两个 Laravel 应用程序同时停止工作,但 codeigniter 和 wordpress 正常工作。

最佳答案

快速修复只需添加这个

'options' => [PDO::ATTR_EMULATE_PREPARES => true]
到 config/database.php 中
'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],
],

the proper solution is to upgrade your php from 7.2 to 7.4 or downgrade your mariadb

关于php - Laravel/MySQL 错误 : SQLSTATE[HY000]: General error: 1835 Malformed communication packet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64678367/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com