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

Форум PHP

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

 

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

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

тема: Вопрос по счётчику PowerCounter 2.9.0 - не хватает памяти для массива
 
 автор: Rprint-max   (08.02.2008 в 16:53)   письмо автору
 
 

У меня установлен счётчик PowerCounter 2.9.0 в режиме, который считает страницы index.php и index.php?x=2 разными страницами.

И теперь, видимо, из за большого количества страниц он мне выдаёт ошибку в файле /counter/admin/enterpoint.php?id_page= (Точки входа и выхода):

Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 35 bytes) in /usr/home/academp/site/www.rprint.ru/counter/admin/enterpoint.php on line 121

ругается вот на этот цикл:

  //Получаем массив с названиями, id и адресами страниц      
  $p_n=mysql_query("SELECT * FROM pages");
  while ($p_names=mysql_fetch_array($p_n))
  {
    $names[($p_names['id_page'])]['name']=$p_names['name'];
    $names[($p_names['id_page'])]['title']=$p_names['title'];
  }


можно как-нибудь решить этот вопрос, кроме как чисткой базы?

   
 
 автор: mechanic   (08.02.2008 в 17:51)   письмо автору
 
   для: Rprint-max   (08.02.2008 в 16:53)
 

нууу.. если в таблице более 3 столбцов (id_page, name и title), то зачем выбирать их все ("*")? имеет смысл оставить только те три, ибо я вижу, что только они используются в коде.. соотв-но освободится немного памяти
получим запрос "SELECT id_page, name, title FROM pages"
да и код в цикле while можно привести к виду
$names[$p_names['id_page']] = $p_names;

а вообще, то, что оно ругается на это место кода, совсем не значит, что проблема именно здесь.. тут памяти много не должно хаваться, если конечно число страниц разумное.. может память сожралась где то ДО этого места?

   
 
 автор: cheops   (09.02.2008 в 01:49)   письмо автору
 
   для: Rprint-max   (08.02.2008 в 16:53)
 

Объём таблиц большой?
1) Возможно вам имеет смысл уменьшить срок хранения актуальных данных.
2) А также повесить процесс архивации данных на cron, если в систему администрирования заглядываете не регулярно.

   
Rambler's Top100
вверх

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