Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Fatal error: Allowed memory size of 33554432 bytes exhausted
 
 автор: Jaroslav   (05.04.2007 в 21:34)   письмо автору
 
 

Приветствую!

На сайте появляется такая ошибка:

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 2621529 bytes) in Unknown on line 0


Подскажите, пожалуйста, как с этим бороться?

   
 
 автор: Trianon   (05.04.2007 в 23:33)   письмо автору
 
   для: Jaroslav   (05.04.2007 в 21:34)
 

Сайт принимает бешенного размера данные методом POST?

   
 
 автор: Jaroslav   (06.04.2007 в 01:11)   письмо автору
 
   для: Trianon   (05.04.2007 в 23:33)
 

Нет. Идет считывание рядов из базы данных (8000) и они сохраняются в сессию. Как можно этого избежать?

   
 
 автор: cheops   (06.04.2007 в 02:08)   письмо автору
 
   для: Jaroslav   (06.04.2007 в 01:11)
 

А зачем такой капитальный объём в сессию перегонять - шило на мыло меняете: из базы данных помещаете данные в текстовый файл? Пусть уж данные в таблице и остаются... А на каждой странице запрашивайте их из базы данных, причём не все 8000, а лишь часть, например, 20, всё равно посетитель больше в голове не удержит.

   
 
 автор: Jaroslav   (06.04.2007 в 02:19)   письмо автору
 
   для: cheops   (06.04.2007 в 02:08)
 

Проблема вот в чем. В базе данных есть ~ 8000 строк с описанием работ пользователей (одна строка - одна работа). Надо вывести на каждой странице по 20 работ. Причем так, чтобы при каждом заходе пользователя они выводились в случайном порядке. Но при обновлении страницы оставались одни и теже. Вот я и считываю все строки из базы данных, загоняю их в сессию, и затем вывожу на каждой странице по 20 штук :)
Как сделать правильно?

   
 
 автор: cheops   (06.04.2007 в 12:14)   письмо автору
 
   для: Jaroslav   (06.04.2007 в 02:19)
 

Хм.... нет, лучше загонять в сессию лишь 20 выбранных, а остальные пусть в базе данных лежат.

   
 
 автор: black_prince   (06.04.2007 в 12:17)   письмо автору
 
   для: Jaroslav   (06.04.2007 в 02:19)
 

можно попробовать сделать что-то вроде постранички, и установить динамичный лимит запроса к базе. будет всего по 20 строк из базы...

   
 
 автор: cheops   (06.04.2007 в 12:41)   письмо автору
 
   для: black_prince   (06.04.2007 в 12:17)
 

Ситуация осложняется тем, что требуется выводить случайные записи из таблицы, а перезагрузка страницы должна выдавать тот же самый набор.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования