https://www.php-cache.com/en/latest/ var ama kendinden çok basit yapabilirsin
<?php
$cache_file = __DIR__ . '/cache/' . md5($_SERVER['REQUEST_URI']) . '.html';
$cache_time = 300; // 5 dakika
// Cache varsa göster
if (
file_exists($cache_file) &&
(time() - filemtime($cache_file) < $cache_time)
) {
readfile($cache_file);
exit;
}
// Cache yoksa çıktı tamponlamayı başlat
ob_start();
?>
<!DOCTYPE html>
<html>
<head>
<title>Örnek Sayfa</title>
</head>
<body>
<h1>Merhaba</h1>
<p>Oluşturulma zamanı: <?= date('Y-m-d H:i:s') ?></p>
</body>
</html>
<?php
$html = ob_get_contents();
ob_end_flush();
// Cache klasörü yoksa oluştur
if (!is_dir(__DIR__ . '/cache')) {
mkdir(__DIR__ . '/cache', 0777, true);
}
// HTML'i cache'e yaz
file_put_contents($cache_file, $html, LOCK_EX);Yada
<?php
$cache_time = 300;
$cache_key = md5($_SERVER['REQUEST_URI']);
$cache_file = __DIR__ . '/cache/' . $cache_key . '.html';
if (
file_exists($cache_file) &&
(time() - filemtime($cache_file) < $cache_time)
) {
readfile($cache_file);
exit;
}
ob_start(function ($buffer) use ($cache_file) {
if (!is_dir(dirname($cache_file))) {
mkdir(dirname($cache_file), 0777, true);
}
file_put_contents($cache_file, $buffer, LOCK_EX);
return $buffer;
});