it-swarm-es.tech

JDatabaseDriver-> replacePrefix () Tamaño de memoria permitido de ... bytes agotados

Reportado a través del Issue Tracker Item # 33711

Al intentar insertar un BLOB> 3MB en la base de datos, se produce el siguiente error:

Error fatal: tamaño de memoria permitido de 134217728 bytes agotados (intentó asignar 4252768 bytes) en ...\bibliotecas\joomla\database\driver.php en la línea 1638

¿Por qué JDatabaseDriver->replacePrefix( ) está comiendo tanta memoria?

5
Valentin Despa

Básicamente no hay nada malo con replacePrefix().

Lo que sucede realmente es que está enviando a MySQL una cadena que es demasiado grande para una configuración predefinida (max_allowed_packet) E informa el error MySQL server has gone away, Como se explica en El servidor MySQL se ha ido obstruyendo la importación de volcados grandes.

Ahora, Joomla piensa que esto es solo un error temporal, y vuelve a intentar la consulta, volviendo a ejecutar el método execute() una y otra vez, hasta que se agota la memoria.

La solución a este problema es aumentar el valor de max_allowed_packet En [mysqld] En my.ini A un valor mayor.

6
Valentin Despa