我应该如何以高效的方式在PHP中包含远程页面片段?

时间:2010-01-28 12:36:41

标签: php drupal caching curl

我正在Drupal的一个网站上工作,该网站将驻留在http://sub.clientdomain.com,从http://clientdomain.com/path/to/fragment.html处的服务器中提取一个静态html片段,我需要在页面中显示,以提供网站的父菜单。

我正在研究VPS,所以我可以访问curl,wget以及我想要安装的任何内容。

这样做的最佳方式是什么?

3 个答案:

答案 0 :(得分:4)

我的第一个方法是每隔 n 分钟在cron作业上使用curl来拉入html片段,然后将其存储在像/var/www/html/site这样的地方,以便保存在每次加载时发出http请求。

然后我使用file_get_contents函数将内容拉入页面,如果文件不存在则回退(假设文件不在那里)。

我在这里添加这个主要是作为一个完整性检查 - 很想看到其他方法。

答案 1 :(得分:1)

你的第一种方法听起来不错。通过使用cronjob,内容的提取与您的站点分离,因此用户无需等待。 如果您可以访问生成片段的页面,则可以通过主动发送新内容而不是每隔几分钟请求一次来减少净流量。

我将片段存储在数据库中,因为我相信数据库查询比访问文件系统更快。

答案 2 :(得分:0)

如果该主域位于同一服务器上,您可能可以直接访问,因此只使用简单include并按绝对路径指向静态html文件