Tôi đã thay đổi một chút về câu trả lời của Rowlf và jamietelin.
Tạo 3 tệp:
chỉ mục.html
<meta http-equiv="refresh" content="0;url=/index_update.php" />
index.php
<?php // do all your normal stuff ?>
index_update.php
<?php
$file = "index.html";
$time = 60 * 10 - (time() - filemtime($file));
# this is on the first install
if (filemtime($file) != filectime($file))
$time = 0;
if ($time > 0) {
die("Data was already updated in the 10 minutes. Please wait another " . ($time) . " seconds.");
}
ob_start();
require "index.php";
$data = ob_get_contents();
$fp = fopen($file, "w");
fwrite($fp, $data);
fclose($fp);
header("Location: /");
Và sau đó một cronjob:
*/15 * * * * curl http://example.com/index_update.php
Vì vậy, nếu ai đó tình cờ xuất hiện trên trang sau khi đẩy sản xuất, họ sẽ chỉ minh bạch tạo index.html mới cho bạn, nếu không, cronjob của bạn sẽ thực hiện mỗi 15 phút một lần.
Chỉ cần đảm bảo index.html có thể ghi bởi máy chủ apache của bạn. Nếu điều đó nghe có vẻ đáng sợ, thì chỉ cần chạy cronjob của bạn php index_update.php
là một người dùng khác có ghi quyền riêng tư cho index.html. Bạn sẽ không có quyền truy cập vào tất cả các môi trường apache mặc dù.
Hy vọng điều này sẽ giúp, nhận xét được hoan nghênh.
Nguồn
2010-03-26 05:52:58
Tôi đã nhìn thấy APC được sử dụng chính xác cho điều đó, tôi không nghĩ rằng nó xấu. – Piskvor