В вашей конструкции, кажется мне, что подгружается вся страница с блоком, а затем он кэшируется (пытается, создавая нагрузку).
Чую, что по факту кэш создаётся каждый раз, после F5.
Проверьте дату создания КЭШ файлов (время)...
ob_get_.... а тут зависит от сервера, а не от хостинга, чем больше оперативы, тем лучше.
По нашенски, по "Русски" - Нах облегчать и оптимизировать код, когда можно увеличить мощностя сервера.
Конструкция exit прерывает выполнение всего скрипта. Поэтому после окончания работы функции уже ничего не происходит. Просто убери exit.
exit убрал, но теперь появилась другая проблема, блок кешируется, но отображается дублем, получается показываются два блока один из кеша, а другой не из кеша, но вывод страницы теперь не прерывается, осталось теперь разобраться с дублем.UPD: ob_end_flush поменял на ob_get_clean, так дубля нет, только надо убедиться что вывод берётся из кеша.upd2: судя по времени отклика, вывод берётся не из кеша :(
Тут нехрена думать, я выше исправил свой коммент.
Проверь скрипт на ошибки.
Ошибок нет, это вордпресс, какие там могут быть ошибки, там всё по блокам, мне надо исключить footer, да возможно я неправильно назвал это объектным кешированием, это буфер вывода, читаю сейчас в других местах и похоже нет такого способа вывести остальной код после кешированного с помощью буфера вывода, либо прерывать, либо кешировать всё, либо опускать кешируемый блок в самый низ страницы чтобы он ничего другого не кешировал, а уже потом выводить этот блок с помощью css в другом месте страницы, в моём случае можно ещё перенести из футера динамические скрипты в другое место и кешировать вместе с футером, короче буду думать, пока включил request_uri и кеширую каждую страницу, что как бы не очень хорошо, за сутки 10к файлов набралось в папке кеша, нагрузка на файловую систему впски растёт.
Да скорее всего версия php 5.3.29 была собрана без подключения mysqli, вот из phpinfo