Php грешка фатална грешка

Взех най-евтиният хостинг на unihost.com, изпълнен онлайн игра - тя работи с 128MB оперативна памет. След това, в зависимост от PHP файл, който е отговорен за комуникацията с базата данни MySQL, получих съобщение за грешка:

Фатална грешка: Позволявам памет размер на 268435456 байта изчерпани (Опитах се да отпусне 43 байта) в /var/www/user/data/www/site.ru/GameEngine/Database/db_MYSQL.php на линия в 2986 (днес се премества в хостинг с 256MB не помогна ;-()

Как да се реши проблема? Трябва ли да се премести към хост с 384MB оперативна памет?

Ето една функция, в който се появи грешка:

Както можете да се досетите, уеб приложението консумира цялата налична памет на виртуален сървър. След разглеждане на кода, който споменах, е ясно, че се появи грешка, когато се опитате да прехвърли резултатите от търсенето на масата за база данни в паметта на сървъра. Очевидно е, че пробата се допре до огромен брой записи (общата сума на информация, която 268435456/1024/1024 = = 256.). Има няколко изхода: да ограничи броя на искане на засегнатите записи от таблицата (допустимо количество, и т.н.), или да имате сървър с много RAM, за резервни. За предпочитане е първият вариант, тъй като в бъдеще ще се предпазите от този проблем. Както и да е, трябва да се внимава за подобни неща ..

Тук, тук, например, само един номер на ред плаши:

Тези гигантски скриптове трябва да се разделят на няколко файла с най-малко да му тогава не се объркате ..

Отговорено 28 '13 ноември в 12:01

Ако имате този проблем, можете да направите следното:

Опитайте се да промените тази стойност чрез добавяне на самото начало на index.php (който е поставен в схемата на сайта) в следните направления:

или пускането в сайта корен .htaccess файл, както следва:

Ако такъв файл вече съществува в корена на сайта - трябва само да добавите линия по-горе.

  1. Ако това не помогне - да се свържете с администратора на хоста и да поиска да се увеличи размерът на паметта на разположение за PHP.

Отговорено 28 '13 ноември в 12:03