Автоматически создавать кеш-файл с помощью php
Я использую базовую систему кэширования на моем сайте, основанную наэта ссылка
До сих пор это работало хорошо для всего, что я хочу сделать.
$cachefile = 'cache/'. basename($_SERVER['QUERY_STRING']) . '.html';
$cachetime = 1440 * 60;
if (file_exists($cachefile) && (time() - $cachetime < filemtime($cachefile))) {
include($cachefile);
echo "";
exit;
}
ob_start();
// My html/php code here
$fp = fopen($cachefile, 'w'); // open the cache file for writing
fwrite($fp, ob_get_contents()); // save the contents of output buffer to the file
fclose($fp); // close
ob_end_flush(); // Send to browser
Тем не менее, у меня есть пара страниц с более подробными запросами mysql, я потратил немало времени на его оптимизацию, однако для его выполнения по-прежнему требуется около 10 секунд, когда я запрашиваю его в mysql, и даже больше на веб-сайте. И иногда кажется, что время истекло, когда я получаю сообщение ниже.
The proxy server received an invalid response from an upstream server.
The proxy server could not handle the requestGET http://www.example.com
Reason: Error reading from remote server
Это н'Это огромная проблема, потому что я использую систему кэширования выше, только первый человек, который щелкнет по ней в течение дня, получает задержку, а в остальное время пользователи получают кэшированную страницу, так что она на самом деле довольно быстрая для них.
Я хочу уберечь себя от необходимости быть первым человеком, который каждый день заходил на страницу и автоматизировал этот процесс, поэтому в 17:00 (на сервере) каждый день файл записывался в кэш.
Как бы я лучше всего достичь этого?