Я пытаюсь создать файл кеша из меню, которое принимает случайные данные, называемые «includes/menu.php», случайные данные создаются, когда я запускаю этот файл вручную, он работает. Теперь я хочу кэшировать эти данные в файл в течение определенного времени, а затем обновить его. У меня запущено 2 проблемы, из моего кеша кода создается, но он кэширует полную страницу php, он не кэширует результат, а только код без его выполнения. Что я делаю не так ? Вот что у меня до сих пор:создать php-кеш с файлом_get_contents
<?php
$cache_file = 'cachemenu/content.cache';
if(file_exists($cache_file)) {
if(time() - filemtime($cache_file) > 86400) {
// too old , re-fetch
$cache = file_get_contents('includes/menu.php');
file_put_contents($cache_file, $cache);
} else {
// cache is still fresh
}
} else {
// no cache, create one
$cache = file_get_contents('includes/menu.php');
file_put_contents($cache_file, $cache);
}
?>
Вам нужно захватить и сохранить вывод 'buffer' файла' php', а не файл 'php'. Пожалуйста, взгляните на https://secure.php.net/manual/en/function.ob-start.php –