Eroare PHP eroare fatală

Am luat cel mai ieftin hosting pe unihost.com, umplut joc online - funcționează cu 128MB de RAM. Apoi, prin referire la fișierul php, care este responsabil pentru comunicarea cu baza de date MySQL, am primit o eroare:

Eroare fatală: dimensiunea memoriei permise de 268435456 bytes epuizat (a încercat să aloce 43 bytes) în /var/www/user/data/www/site.ru/GameEngine/Database/db_MYSQL.php on line în 2986 (astăzi mutat la găzduire cu 256MB nu a ajutat ;-()

Cum de a rezolva problema? Ar trebui să mă mut într-o gazdă cu 384MB de RAM?

Aici este o funcție în care apare eroarea:

După cum puteți ghici, aplicația web consumă toată memoria disponibilă pentru un server virtual. După ce se uită la codul ați menționat, este clar că apare o eroare atunci când încercați să transferați rezultatul interogării la tabelul bazei de date în memorie pe server. Evident, proba atinge un număr foarte mare de intrări (cantitatea totală de informații pe care 268435456/1024/1024 = = 256MB.). Există mai multe ieșiri: limita numărul de cereri de înregistrări afectate de tabel (LIMIT, UNDE, etc), sau de a avea un server cu o mulțime de memorie RAM la schimb. De preferință, prima opțiune, pentru că, în viitor, te va proteja de o astfel de problemă. Oricum, trebuie sa ai grija de lucruri de genul asta ..

Aici, aici, de exemplu, un singur număr de linie sperie:

Astfel de script-uri gigantice ar trebui să fie împărțită în mai multe fișiere la cel puțin să-l atunci nu pentru a obține confuz ..

Răspuns 28 noiembrie la 12:01 '13

Dacă vă confruntați cu această problemă, puteți face următoarele:

Încercați-vă pentru a schimba această valoare prin adăugarea la începutul index.php (care este plasat în site-ul rădăcină) următoarele linii:

sau punerea în site-ul rădăcină fișierul .htaccess, după cum urmează:

Dacă un astfel de fișier există deja în rădăcina site-ului - adăugați doar linia de mai sus.

  1. În cazul în care nu ajuta - contactați gazda de administrator și cere pentru a crește cantitatea de memorie disponibilă pentru PHP.

Răspuns 28 noiembrie la 12:03 '13