Слетела база данных в Друпале при простом добавлении статьи

D
На сайте с 04.01.2012
Offline
131
1358

Произошло нечто... странное.

Сайту около суток. Добавлено 5 статей. При попытке добавить большую статью база слетела для неавторизованных пользователей (для залогиненных статьи отображаются, в админке тоже видны).

После попытки добавить большую статью выдалась страница с ошибками:

Warning: Got a packet bigger than 'max_allowed_packet' bytes query: INSERT INTO watchdog (uid, type, message, variables, severity, link, location, referer, hostname, timestamp) VALUES (1, 'php', '%message in %file on line %line.', 'a:4:{s:6:\"%error\";s:12:\"user warning\";s:8:\"%message\";s:1441784:\"Got a packet bigger than 'max_allowed_packet' bytes\nquery: INSERT INTO node_revisions (nid, uid, title, body, teaser, log, timestamp, format) VALUES (0, 1, '4g', ' Не кажется ли Вам, читатель, что время невероятно ускорило свой бег и\\r\\nдвижется воистину стремит� in /home/user145/domains/domain.com/public_html/includes/database.mysqli.inc on line 134

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 14540157 bytes) in /home/user145/domains/domain.com/public_html/modules/filter/filter.module on line 1011

После чего в админке появилась соответствующая статья, но при попытке отредактировать ее получается 404 ошибка. На главной сайта вместо этой статьи отображается огромным кеглем "Unpublished"

И эту статью не удалить. И, повторяю, база слетела для неавторизованных пользователей.

Подскажите пожалуйста, я вижу что это совершенно регулярный глюк Друпала. Есть какие-то методы борьбы с ним? Ведь так можно любой сайт обрушить, просто добавив большую статью...

Базу-то я восстановлю, а что делать дальше? Как добавлять большие статьи? Сервер выделенный и проблем с ресурсами нет.

TakingBackMySoul
На сайте с 09.11.2011
Offline
65
#1

в php.ini выставьте значение memry_limit побольше. Нехватка памяти.

И еще увеличьте max_allowed_packet

D
На сайте с 04.01.2012
Offline
131
#2
TakingBackMySoul:


И еще увеличьте max_allowed_packet

Спасибо, а где эта настройка?

Ragnarok
На сайте с 25.06.2010
Offline
239
#3

Откройте базу через phpmyadmin, он покажет, если таблицы битые.

если так -- через него же таблицы можно восстановить

//TODO: перестать откладывать на потом
DV
На сайте с 01.05.2010
Offline
644
#4
VDS хостинг ( http://clck.ru/0u97l ) Нет нерешаемых задач ( https://searchengines.guru/ru/forum/806725 ) | Перенос сайтов на Drupal 7 с любых CMS. ( https://searchengines.guru/ru/forum/531842/page6#comment_10504844 )
D
На сайте с 04.01.2012
Offline
131
#5

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

DV
На сайте с 01.05.2010
Offline
644
#6
D
На сайте с 04.01.2012
Offline
131
#7
TakingBackMySoul:
в php.ini выставьте значение memry_limit побольше. Нехватка памяти.

Поставил 256М

Считаю, что для текста объемом в 800КБ этого хватить должно...

Chikir
На сайте с 22.11.2010
Offline
26
#8

256М слишком много. На обычном хостинге такое не допустят. Ставьте максимум 64 - за глаза будет

M3
На сайте с 06.07.2011
Offline
7
#9
dwell:

Произошло нечто... странное.
Сайту около суток. Добавлено 5 статей. При попытке добавить большую статью база слетела для неавторизованных пользователей (для залогиненных статьи отображаются, в админке тоже видны).
После попытки добавить большую статью выдалась страница с ошибками:

Написано же — пакет передаваемых данных больше, чем лимит.

Насколько я могу судить — из-за большого объёма статьи произошёл сбой при работе с mysql-server.

Рекомендую увеличить лимиты в конфигурации сервера mysql и php.

dwell:

И эту статью не удалить. И, повторяю, база слетела для неавторизованных пользователей.
Удалить должно быть можно перейдя по ссылке %адрес-статьи%/delete.

Или через список материалов в управлении содержимым.

dwell:

Подскажите пожалуйста, я вижу что это совершенно регулярный глюк Друпала. Есть какие-то методы борьбы с ним? Ведь так можно любой сайт обрушить, просто добавив большую статью...
Базу-то я восстановлю, а что делать дальше? Как добавлять большие статьи? Сервер выделенный и проблем с ресурсами нет.

Меняйте конфигурацию сервера базы данных и проверьте настройки php.

Модуль DB tuner поможет вам изучить текущее состояние настроек и порекомендует как исправить ситуацию. Также стоит попробовать DB Tweaks.

Настоятельно рекомендую использовать APC.

Я, так вообще memcached подключаю.

D
На сайте с 04.01.2012
Offline
131
#10

Спасибо огромное всем! Все получилось.

Все правильно, нужно изменить и в пхп, и в мускуле... Кстати, рекомендую всем на друпале сделать это, иначе злоумышленник с правами добавления статей сможет обрушить базу!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий