В WordPress есть функционал сохранения редакций страниц. Каждый раз, когда редактируется страница через Elementor, сохраняется история изменений страницы со всеми мета-данными.
При этом, перед сохранением изменений WordPress анализирует всю историю изменений страницы, выполняя запрос к базе вида:
SELECT post_id, meta_key, meta_value FROM Basepostmeta WHERE post_id IN (9347,9346,9345,9344,9342,9341,9340,9294,9293,9292,9278,9277,9276,9230,9229,9228,9226,9225,9224,9222,9221,9220,...;
В результате, WordPress обрабатывает очень большой объем памяти и на процесс может потребоваться больше 1 Гб оперативной памяти. Из-за этого возникают ошибки вида:
Fatal error: Allowed memory size of x bytes exhausted (tried to allocate x bytes) in /path/to/php/script
Ошибку не всегда видно в логах ошибок сайта и/или при включенном режиме отладки в wp-config.php . Чтобы убедиться в наличии этой ошибки, можно добавить в wp-config.php строку:
define( 'WP_DEBUG_LOG', true );
Подробнее об отладке в WordPress: https://ru.wordpress.org/support/article/debugging-in-wordpress/#wp-debug-log
Для решения проблемы можно сделать:
- Сделать дамп базы данных — бэкапы лишними не бывают.
- В конфиг wp-config.php добавить параметр, отключающий сохранение редакций страниц:
define( 'WP_POST_REVISIONS', 0 );
- Удалить уже созданные редакции страниц запросами вида:
DELETE FROM wp_postmeta WHERE post_id IN (SELECT ID FROM wp_posts WHERE post_type = 'revision' AND post_name LIKE '%revision%');
DELETE FROM wp_term_relationships WHERE object_id IN (SELECT ID FROM wp_posts WHERE post_type = 'revision' AND post_name LIKE '%revision%');
DELETE FROM wp_posts WHERE post_type = 'revision' AND post_name LIKE '%revision%';