eprivalov
@eprivalov
Учусь

PHP ошибка Fatal Error. Как решить проблему?

Взял хостинг самый дешевый на unihost.com, залил онлайн игру - все работало с 128МБ ОЗУ. Затем при обращении к php файлу, который отвечает за связь с БД MySQL получил ошибку:

Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 43 bytes) in /var/www/user/data/www/site.ru/GameEngine/Database/db_MYSQL.php on line 2986 (Сегодня перешел на хостинг с 256МБ, не помогло ;-( )

Как решить проблему? Стоит ли переходить на хостинг с 384МБ ОЗУ?
  • Вопрос задан
  • 3321 просмотр
Пригласить эксперта
Ответы на вопрос 5
fornit1917
@fornit1917
>Как решить проблему?
Переписать приложение так, чтобы не возникало необходимости в одном запросе из базы вытягивать более 256 метров данных.
Ответ написан
Комментировать
С увеличением базы данных, будет требоваться все больше и больше памяти.
Ну и да, глупо надеяться запустить онлайн игрушку на дешевом хостинге.
Не говоря уже о том, что ф-ции mysql_ помечены как устаревшие в php 5.5 и будут удалены в следующих версиях.
UPD: Я более чем уверен, что в каждом запросе у вас идет Select *. Перечисляйте поля, это реально снизит нагрузку на опреативку при mysql_fetch_assoc()
Ответ написан
Комментировать
miraage
@miraage
Старый прогер
1) Как уже упомянули - оптимизация запросов, необязательно везде использовать select *.
2) Может уже хватит извращаться с нативным драйвером mysql? PDO уже давно интегрирован.
3) Кэширование у Вас есть?
Ответ написан
@psfpro
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы