Mysql
 sql >> Database >  >> RDS >> Mysql

Dimensioni di memoria consentite di 134217728 byte esaurite (tentativo di allocazione di 4294967296 byte)

Ho letto questa segnalazione di bug qui:https://bugs.php.net/bug. php?id=51386

Il tuo problema sembra verificarsi perché c'è un longblob o longtext nelle colonne della tabella.

longtext / longblob avere una lunghezza massima di 4294967295 [4 GB] ecco perché mysqli cerca di allocare quella memoria per il buffer per assicurarsi che nulla venga perso. Ti suggerirei di utilizzare mediumtext (16777215 [16 MB] lunghezza massima), dovrebbe essere sufficiente per tutto di solito.

Aggiornamento: Poiché questa risposta ha visto alcune attività, aggiungo questa soluzione da Phil_1984 (vedi commenti)

=> Se usi $stmt->store_result() puoi usare mysqli con longblob / longtext senza ricevere l'errore.

-

Vecchia risposta: Ti suggerisco di cambiare la colonna in un altro tipo (mediumtext) o di usare PDO (penso che non abbia questo problema). ma se vuoi mantenere la colonna come longtext, devi cambiare la tua libreria mysql

Citazione da PHP Dev: