Out of memory

Главные вкладки

Аватар пользователя margol margol 25 апреля 2007 в 10:04

Всем, доброго дня!
Снова пришлось поднять тему о памяти. Перечитала все, что нашла на этом форуме - ответа не получила. Установила на локалхосте Друпал 5.1 (под базу ibm_db2 если это важно). При запуске index.php выдается ошибка:

Fatal error: Out of memory (allocated 524288) (tried to allocate 1073741825 bytes) in C:\Program Files\Apache Group\Apache2\htdocs\is\www.drupal.ru_5_1\includes\database.ibmdb2.inc on line 114

В php.ini у меня установлено
memory_limit = 8M (при увеличении до 16 и 32 М ситуация не меняется)
В .htaccess (тот, который лежит в корневике Друпала) дописала
php_value memory_limit 32M

Это на форуме советовали. Может надо все таки в апачевский .htaccess что-то подобное писать? Если да, тот в какой, я нашла их кучу целуюв папке апача с разной степенью вложенности.

Кто сталкивался с такой ошибкой - как исправляли?

Комментарии

Аватар пользователя margol margol 25 апреля 2007 в 11:22

Взяла его с сайта ibm-еров. Там вот такая функция:
function db_fetch_object($result) {
if ($result) {
return db2_fetch_object($result);
}
}

в 114 строке как раз return стоит.

Аватар пользователя blackvl@drupal.org blackvl@drupal.org 25 апреля 2007 в 12:07

Попробуйте посчитать количество объектов в $result ... похоже там хорошо по кругу походили и все собрали с базы да не один раз.
Кстати, обнародуйте ссылку на этот модуль.

Аватар пользователя margol margol 25 апреля 2007 в 12:39

>Попробуйте посчитать количество объектов в $result
А как это сделать? Что-то не пойму.
>обнародуйте ссылку на этот модуль.
Вот ссылка на статью, которой я руководствовалась. В конце в разделе Загрузки можно скачать этот database.ibmdb2.inc архив называется i-osource9code.zip. Но скажу сразу, если вы захотите проследовать по шагам установки Друпала под db2, там не все "гладко". Как у меня все получилось, опишу позже, когда Друпал, наконец, заработает.

Аватар пользователя blackvl@drupal.org blackvl@drupal.org 25 апреля 2007 в 13:26

Ну например вставить echo count($result);
И вообще, попробуйте обрезать $result до одного объекта и только потом вывести этой функцией....
А модуль мне нужен только на "посмотреть" именно на предмет "скрытой" рекурсии...