Viene visualizzato un errore davvero strano, inutile e totalmente casuale quando recupero le righe da una risorsa (query) utilizzando PHP.Errore MySQL "Empty rowet body body" quando si utilizza mysql_fetch_object (PHP 5.3.3)
La mia macchina di sviluppo è un Windows XP SP3 con Apache 2.2 mentre MySQL gira su una macchina virtuale, usando ubuntu 10.04, con 768mb di ram, 100GB di HDD e 4 core logici (Intel q6600). Tuttavia questo problema non è legato a PHP su Windows perché ottengo lo stesso errore quando eseguo il codice sulla macchina del database.
sto usando mysql
estensione (non mysqli
o mysqlnd
), ma guardando in giro ho fondato una patch quanto riguarda questo errore relative al mysqlnd estensione, quindi, probabilmente, dovrei provare.
Il problema principale è che quando eseguo questa query (una query molto grande con un paio di tabelle derivate e più di 20 join) e il risultato dei processi è veloce e tutto va bene, ma quando il mio codice è stato di circa 15/20 secondi per elaborare un blocco di righe (ho bisogno di costruire un oggetto da un blocco di righe collegate in un modo molto particolare tra di loro, non posso cambiarlo, il database non è mio e fare un po 'di PDF da questo oggetto) dopo un po' (tempo casuale) Ottengo questo errore "Empty packet body body".
Uso query senza buffer per ridurre il consumo di memoria (se abilito il buffering ottengo circa 260 MB di memoria utilizzata) ma questo non dovrebbe essere il problema.
Puoi mostrare un po 'di codice? A cosa servono i timeout dei comandi? – Fosco
il problema non è correlato a timeout o limite di memoria perché ho disabilitato il primo e impostato su un valore molto molto alto il secondo –
Dove lavoro sviluppiamo usando un Apache 2.2/PHP 5.3.3 locale su Windows XP Anche Pro SP3 e un server di database di test condiviso, e riceviamo questo errore tutto il tempo. TUTTAVIA, l'installazione Apache/Linux condivisa, di cui non sono a conoscenza le versioni, non fornisce questo errore, quindi questo potrebbe suggerire che il problema potrebbe essere causato dalla versione di Apache o qualcosa di simile invece della configurazione o dell'uso del database! –