我正在编写一个脚本,它从外部服务器检查更新版本。我在config.php文件中使用此代码来检查最新版本。
$data = get_theme_data('http://externalhost.com/style.css');
$latest_version = $data['Version'];
define('LATEST_VERSION', $latest_version);
这很好,我可以获取最新版本(get_theme_data是WordPress函数),但问题是它将在我不想要的每一个负载上执行。我也不想只检查表单提交的时间。或者,我正在研究某种方法来缓存结果,或者每隔一小时检查版本?这样的事情可能吗?怎么样?
答案 0 :(得分:1)
此类计划任务应设置为单独的cron
或at
作业。您仍然可以用PHP编写所有内容,只需创建一个从命令行运行的脚本并进行更新。请查看“man crontab”以获取详细信息,和/或检查服务器正在运行的调度服务。
答案 1 :(得分:1)
在这里,让你轻松自如。将上次检查更新的时间存储在文件中。
function checkForUpdate() {
$file = file_get_contents('./check.cfg', true);
if ($file === "") {
$fp = fopen('./check.cfg', 'w+');
fwrite($fp, time() + 86400);
fclose($fp);
}
if ((int)$file > time()) {
echo "Do not updatE";
} else {
echo "Update";
$fp = fopen('./check.cfg', 'w+');
fwrite($fp, time() + 86400);
fclose($fp);
}
}
如果您愿意,显然可以使这更加安全/有效。
编辑:此功能每天都会检查一次更新。