我正在使用CakePHP 3.2
我的应用程序工作正常,但是从最近几天发出错误
错误:SQLSTATE [HY000]:常规错误:2006 MySQL服务器已经消失
SQL查询
SELECT Categories.id AS
Categories__id
,Categories.title ASCategories__title
,Categories.description ASCategories__description
,Categories.icon ASCategories__icon
, Categories.c_status ASCategories__c_status
,Categories.created ASCategories__created
,Categories.modified ASCategories__modified
FROM categories类别WHERE Categories.c_status = 1
和建议
If you are using SQL keywords as table column names, you can enable identifier quoting for your database connection in config/app.php.
我尝试在app.php
中启用标识符,然后也是同样的错误。
生成的查询的源代码
$menu_categories = $this->Categories->find('all', [
'conditions' => [
'Categories.c_status' => 1,
],
'contain' => [
'Subcategories.ProductTypes' => [
'conditions' => [
'ProductTypes.status' => 1,
],
],
'CategoryBanners' => [
'conditions' => [
'CategoryBanners.status' => 1,
],
],
],
]);
$this->set('menu_categories', $menu_categories);
导致错误的原因是什么?
答案 0 :(得分:1)
我遇到了此错误,事实证明是数据库的“ max_allowed_packet”设置存在问题。我的矿山从默认的增加到16MB,它解决了我的问题。需要检查并试验一下您还是其他任何人的错误。