DRUPAL: фатальная ошибка: допустимая ошибка размера памяти при редактировании определенных существующих страниц
Фатальная ошибка: разрешенный объем памяти 18874368 байт исчерпан (пытался выделить 1481725 байт) в __/public_html/includes/database.Inc на линии 224
У меня эта ошибка возникает в Drupal 6 каждый раз, когда я пытаюсь отредактировать следующие страницы:
- http://chipkin.com/fs-8700-125-stulz
- http://chipkin.com/fs-8700-47-dnp-30
- http://chipkin.com/fs8700-14-ge-mark-iv-speedtronic
- http://chipkin.com/fs8700-74-veeder-root-serial-driver
Мы находимся на общем хостинге, поэтому у меня нет доступа к php.ini-файл, чтобы выделить больше памяти, однако я уверен, что это не то, что вызывает проблему.




Ответы - DRUPAL: фатальная ошибка: допустимая ошибка размера памяти при редактировании определенных существующих страниц / DRUPAL: Fatal error: Allowed memory size error when editing specific existing pages

14.11.2009 04:45:04
Определенно проблема с памятью - это будет трудно для вас, чтобы запустить сайт Drupal только на 18 мегабайт памяти.
Ваше долгосрочное решение состоит в том, чтобы изменить хосты - есть много хостов, которые позволяют вам настроить php.ini (в пределах допустимого). Bluehost.com это один из примеров.
Возможным краткосрочным решением было бы удаление неиспользуемых модулей из каталога modules
. Каждый модуль съедает немного памяти, даже если он отключен.
Такие вещи, как кэширование и отключение statistics
, тоже хороши, но они не очень помогут, если вы получаете проблемы с памятью при редактировании основных страниц.

14.11.2009 05:13:29
Я не так хорошо знаком с Drupal, но эта страница пытается захватить большой объем данных из базы данных? Что-то вроде SELECT *
для всей таблицы? Это может объяснить, почему один вызов пытается выделить так много памяти.
Изменение хостов-это вариант, но на данный момент может быть полезно посмотреть, можно ли что-то сделать, чтобы ограничить данные, запрашиваемые из базы данных.
К сожалению, сообщение об ошибке не очень много, чтобы сказать вам, какой конкретный запрос вызывает проблему - так как код, делающий запрос db, находится в классе библиотеки db. Если вы можете сделать любой вид трассировки стека, это поможет.

14.11.2009 05:20:27
Я нахожусь на общем хосте, а также. Вот это PHP.INI, который я создал в одной из корневых папок домена Drupal:
[PHP]
memory_limit = 40M;
upload_max_filesize = 20M;
post_max_size 20M;
max_execution_time = 200;
max_input_time = 200;
У меня больше нет проблем с глобальными ограничениями. Я не уверен, что хостер может отключить или переопределить локальный PHP.ini-мой не делает, и это должно быть стоит попробовать.


14.11.2009 05:40:27
Вы можете указать ограничение памяти через .реврайт
Попробуйте добавить следующую строку .файл htaccess в корневом каталоге вашего сайта:
php_value memory_limit 32M



