Fórum OpenCart Brasil

Por um e-commerce livre, confiável e profissional

Suporte geral sobre problemas técnicos para OpenCart v2.x.
#73919
Olá a todos.

Estou com a versão 2.0.3.1 do opencart e constantemente aparece o erro: PHP Notice: Error: MySQL server has gone away e logo após, varios erros relacionados com o acesso ao banco.
Eu não consigo entender em que parte ocorre isso, mas ja li que é servidor e quando vejo com a Locaweb eles dizem que está normal lá. Alguem já teve esse tipo de erro? Segue abaixo uma parte do log
Código: Selecionar todos
2017-06-09 17:15:23 - PHP Notice:  Error: MySQL server has gone away<br />Error No: 2006<br />SELECT * FROM `oc_language` WHERE status = '1' in /home/storage/2/f4/13/duleliskids/public_html/system/library/db/mysqli.php on line 41
2017-06-09 17:15:23 - PHP Notice:  Trying to get property of non-object in /home/storage/2/f4/13/duleliskids/public_html/index.php on line 141
2017-06-09 17:15:23 - PHP Warning:  Invalid argument supplied for foreach() in /home/storage/2/f4/13/duleliskids/public_html/index.php on line 141
2017-06-09 17:15:23 - PHP Notice:  Undefined index: pt-br in /home/storage/2/f4/13/duleliskids/public_html/index.php on line 180
2017-06-09 17:15:23 - PHP Notice:  Undefined index: pt-br in /home/storage/2/f4/13/duleliskids/public_html/index.php on line 181
2017-06-09 17:15:23 - PHP Notice:  Undefined index: pt-br in /home/storage/2/f4/13/duleliskids/public_html/index.php on line 184
2017-06-09 17:15:23 - PHP Notice:  Undefined index: pt-br in /home/storage/2/f4/13/duleliskids/public_html/index.php on line 185
2017-06-09 17:15:23 - PHP Notice:  Error: MySQL server has gone away<br />Error No: 2006<br />SELECT * FROM oc_currency in /home/storage/2/f4/13/duleliskids/public_html/system/library/db/mysqli.php on line 41
2017-06-09 17:15:23 - PHP Notice:  Trying to get property of non-object in /home/storage/2/f4/13/duleliskids/public_html/system/library/currency.php on line 15
2017-06-09 17:15:23 - PHP Warning:  Invalid argument supplied for foreach() in /home/storage/2/f4/13/duleliskids/public_html/system/library/currency.php on line 15
2017-06-09 17:15:23 - PHP Notice:  Error: MySQL server has gone away<br />Error No: 2006<br />SELECT tr1.tax_class_id, tr2.tax_rate_id, tr2.name, tr2.rate, tr2.type, tr1.priority FROM oc_tax_rule tr1 LEFT JOIN oc_tax_rate tr2 ON (tr1.tax_rate_id = tr2.tax_rate_id) INNER JOIN oc_tax_rate_to_customer_group tr2cg ON (tr2.tax_rate_id = tr2cg.tax_rate_id) LEFT JOIN oc_zone_to_geo_zone z2gz ON (tr2.geo_zone_id = z2gz.geo_zone_id) LEFT JOIN oc_geo_zone gz ON (tr2.geo_zone_id = gz.geo_zone_id) WHERE tr1.based = 'shipping' AND tr2cg.customer_group_id = '1' AND z2gz.country_id = '30' AND (z2gz.zone_id = '0' OR z2gz.zone_id = '464') ORDER BY tr1.priority ASC in /home/storage/2/f4/13/duleliskids/public_html/system/library/db/mysqli.php on line 41
2017-06-09 17:15:23 - PHP Notice:  Trying to get property of non-object in /home/storage/2/f4/13/duleliskids/public_html/system/library/tax.php on line 28
2017-06-09 17:15:23 - PHP Warning:  Invalid argument supplied for foreach() in /home/storage/2/f4/13/duleliskids/public_html/system/library/tax.php on line 28
2017-06-09 17:15:23 - PHP Notice:  Error: MySQL server has gone away<br />Error No: 2006<br />SELECT tr1.tax_class_id, tr2.tax_rate_id, tr2.name, tr2.rate, tr2.type, tr1.priority FROM oc_tax_rule tr1 LEFT JOIN oc_tax_rate tr2 ON (tr1.tax_rate_id = tr2.tax_rate_id) INNER JOIN oc_tax_rate_to_customer_group tr2cg ON (tr2.tax_rate_id = tr2cg.tax_rate_id) LEFT JOIN oc_zone_to_geo_zone z2gz ON (tr2.geo_zone_id = z2gz.geo_zone_id) LEFT JOIN oc_geo_zone gz ON (tr2.geo_zone_id = gz.geo_zone_id) WHERE tr1.based = 'store' AND tr2cg.customer_group_id = '1' AND z2gz.country_id = '30' AND (z2gz.zone_id = '0' OR z2gz.zone_id = '464') ORDER BY tr1.priority ASC in /home/storage/2/f4/13/duleliskids/public_html/system/library/db/mysqli.php on line 41
2017-06-09 17:15:23 - PHP Notice:  Trying to get property of non-object in /home/storage/2/f4/13/duleliskids/public_html/system/library/tax.php on line 56
2017-06-09 17:15:23 - PHP Warning:  Invalid argument supplied for foreach() in /home/storage/2/f4/13/duleliskids/public_html/system/library/tax.php on line 56
2017-06-09 17:15:23 - PHP Notice:  Error: MySQL server has gone away<br />Error No: 2006<br />SELECT * FROM oc_weight_class wc LEFT JOIN oc_weight_class_description wcd ON (wc.weight_class_id = wcd.weight_class_id) WHERE wcd.language_id = '0' in /home/storage/2/f4/13/duleliskids/public_html/system/library/db/mysqli.php on line 41
2017-06-09 17:15:23 - PHP Notice:  Trying to get property of non-object in /home/storage/2/f4/13/duleliskids/public_html/system/library/weight.php on line 11
2017-06-09 17:15:23 - PHP Warning:  Invalid argument supplied for foreach() in /home/storage/2/f4/13/duleliskids/public_html/system/library/weight.php on line 11
2017-06-09 17:15:23 - PHP Notice:  Error: MySQL server has gone away<br />Error No: 2006<br />SELECT * FROM oc_length_class mc LEFT JOIN oc_length_class_description mcd ON (mc.length_class_id = mcd.length_class_id) WHERE mcd.language_id = '0' in /home/storage/2/f4/13/duleliskids/public_html/system/library/db/mysqli.php on line 41
2017-06-09 17:15:23 - PHP Notice:  Trying to get property of non-object in /home/storage/2/f4/13/duleliskids/public_html/system/library/length.php on line 11
2017-06-09 17:15:23 - PHP Warning:  Invalid argument supplied for foreach() in /home/storage/2/f4/13/duleliskids/public_html/system/library/length.php on line 11
2017-06-09 17:15:23 - PHP Notice:  Error: MySQL server has gone away<br />Error No: 2006<br />SELECT * FROM oc_extension WHERE `type` = 'openbay' in /home/storage/2/f4/13/duleliskids/public_html/system/library/db/mysqli.php on line 41
2017-06-09 17:15:23 - PHP Notice:  Trying to get property of non-object in /home/storage/2/f4/13/duleliskids/public_html/system/library/openbay.php on line 118
2017-06-09 17:15:23 - PHP Warning:  Invalid argument supplied for foreach() in /home/storage/2/f4/13/duleliskids/public_html/system/library/openbay.php on line 118
2017-06-09 17:15:23 - PHP Notice:  Error: MySQL server has gone away<br />Error No: 2006<br />SELECT * FROM oc_event in /home/storage/2/f4/13/duleliskids/public_html/system/library/db/mysqli.php on line 41
#74012
Descobri o que está havendo com a loja, ocorre que há diversas categorias no menu, quase 190 e portanto o servidor estava demorando para tratar a variavel $data[menu] e levava muito tempo, quase 30 segundos e dependendo do numero de acessos, dava o erro acima.

Portanto quem tiver passando pelo mesmo problema, verifique a quantidade de categorias existentes, pois eu havia pensado de tudo e não encontrava a solução. E nesse caso, a solução foi deixar colocar o menu no proprio HTML (header.tpl). Sei que não é o correto a se fazer, mas vou criar uma procedure que traga o menu inteiro e assim que tiver pronto, divulgo aqui para caso ajude quem tiver nessa mesma situação.