Просто сохраняй где-нибудь на диске файл с результатом работы (HTML), и если с момента последнего изменения файла прошло больше 59 секунд - генерируй и записывай и отдавай пользователю новый HTML. А если меньше 60 секунд - просто выводи содержимое файла (там же HTML?).
Хммм, в старой версии кода в $product_features данные писались под определёным индексом $product_values[]->feature_id, а в новой - под первым попавшимся свободным числом. Однако ошибка?
Один SQL-запрос за раз, названия таблиц и столбцов заключить в обратный апостроф `.
И character set сохранять-восстанавливать нет смысла, тем более комментариями, которые в чистом SQL-запросе - ни к селу, ни к городу. Вы же не MYSQL dump восстанавливаете, ну?!
Так вот, в /etc/nginx/sites-available/ создайте ещё один файл site.com.conf, и в него и внесите...
Не забудьте только подправить конфиг, указав "root /var/www/..../" - корневую директорию вашего site.com:1337.
В данном случае var_dump() будет бесполезен, потому что он улетит как ответ на HTTP-запрос с сервера Yandex.
Нужно делать error_log("DEBUG: ".print_r($requestBody, true));, и смотреть в error.log HTTP-сервера, или в debug.log сайта (если сайт перехватывает STDERR).