Имеется cron php скрипт, который выполняет некоторые операции с БД. В этом скрипте я использую такие wp функции, как wp_insert_term()
, wp_insert_post()
,wp_cache_flush()
и т.д. $wpdb
так же используется.
Проблема в том, что на готовом сайте, с кучей установленных плагинов, данный скрипт потребляет намного больше памяти при одном только подключении WordPress.
Вот пример простого подключения:
$MEMORY = memory_get_usage();
require_once dirname(__FILE__) . '/../wp-load.php';
echo "Memory: " . (memory_get_usage() - $MEMORY ). PHP_EOL;
Результаты:
Есть вот такой вот вариант: define('SHORTINIT', true);
, но он, как я понял, отключает все wp-функции, что не подходит.
Соответственно вопрос: я правильно понял, что активированные плагины, пожирают память и если да, то как подключить только необходимые мне wp-функции?
Имеется cron php скрипт, который выполняет некоторые операции с БД.
Сразу 2 ошибки - крон на php и запросы в БД.
Во первых если нужен крон, то лучше использовать серверный. А если всё же нужен php, то в ВП есть свой php-крон.
В базу лазить нельзя. Тем боле по крону, тем более по стороннему, тем более по стороннему на php.
При работе с ВП нужно использовать АПИ. В частности для работы с кроном из ВП - wp-сron, а для работы сторонних приложений с ВП - REST API
Соответственно вопрос: я правильно понял, что активированные плагины, пожирают память и если да, то как подключить только необходимые мне wp-функции?
Нет. Пожирают не "плагины" как таковые, а код. Можно использовать 100500 плагинов без ущерба сайту, а можно в тему прописать 10 строк и положить его при десятке внешних запросов.
В общем, рекомендую посмотреть доклады разработчиков ВП. В них есть и о причинах и о методах/способах локализации проблем.
https://wordpress.tv/2015/08/20/konstantin-kovshenin-wordpress-performance-killers/
https://wordpress.tv/2014/09/02/konstantin-kovshenin-scaling-wordpress/
https://wordpress.tv/2014/08/25/gennady-kovshenin-profiling-wordpress/
https://wordpress.tv/2013/08/19/konstantin-kovshenin-wordpress-site-speed/
Голый сайт: 34 072 112 байт
Если это показатели на внешней странице, то это ещё и хостинг плохой/не настроен.
Вот на не самом лучшем хостинге реальный сайт без плагинов кеширования и каких-либо серьёзных мер для оптимизации:
Виртуальный выделенный сервер (VDS) становится отличным выбором
Почему-то перестал работать $_POST со стороны обработчика,GET тоже не работает, ajax отправляет, но не доходит до php файлаОтправляю из файла "index
Всем привет! Мне нужно, чтобы в select выводились полученные данные из БД Для этого имеется в indexphp такой код:
Добрый вечер! Есть HTML таблица, из которой конвертирую информацию в json, оттуда в php и далее в таблицу sqlЗастряла на последнем этапе, не понимаю,...