我创建了一个PHP文件,其中根据从其他站点获取的数据使用GD绘制地图。事实是PHP运行时使页面加载非常慢。
问题是,这个PHP代码每天只执行一次有什么方法吗? o您是否有机会自动运行Web服务器?
答案 0 :(得分:2)
您需要缓存地图图像并从文件中加载它(如果已存在)。每天再生一次。这个骨架代码概述了如何实现。当图像变得超过一天时页面第一次加载,它将被重新生成并保存到文件中。
// If the file is older than 1 day, create a new one
if (filemtime("imagecache.jpg") < time() - 86400) {
// Generate your new image and write it to a file
// Assuming $im is an image from GD
// UPDATE: fixed file_put_contents() because I didn't know imagejpeg()
// could write the file by itself.
imagejpeg($im, "imagecache.jpg");
}
答案 1 :(得分:1)
许多方法都可以做到这一点。他们都开始使用PHP脚本,使用gd创建静态图形文件并将其保存在磁盘中的某个位置。这是您将向用户展示的内容。
生成该文件后,您最简单的选择可能是:
答案 2 :(得分:0)
创建一个cron job,每天运行一次(最好在轻量交通时间内),以完成繁重的工作,保存或缓存结果(例如,使用APC或memcached,甚至只覆盖当前的 - 将图像与新图像一起使用,并将结果显示给用户。