处理跨服务器php的最佳方式包括

时间:2011-06-22 01:46:36

标签: php include file-get-contents

这是一个2部分问题......

1)file_get_contents是否会创建服务器负载?我在我的博客侧边栏中使用它3次以上通过我的博客网络提取广告,但现在网络正在放慢速度。我想确保这不是原因。

2)处理跨服务器包含的最佳方法是什么?就像我上面说的那样,我正在使用file_get_contents,并且可能以非常糟糕的方式进行。看一下我的一些代码,我会看到:

<?
$c = file_get_contents("http://www.url.com/includes/include1.php");
echo ($c);
?>  
<?
$c = file_get_contents("http://www.url.com/includes/include2.php");
echo ($c);
?>  

我现在明白这很草率,因为它在你不需要的时候打开和关闭php,而且它把两个不同的URL放在同一个变量下面。这让我想知道它在这一点上是如何运作的。

无论如何,我正在寻找我的跨服务器包含问题的最佳解决方案,这有望在较重的负载下降低我的服务器上的阻力。

谢谢你!

2 个答案:

答案 0 :(得分:3)

您不应该允许跨服务器包含。什么会阻止你以外的人阅读你的PHP文件的内容?

至于你原来的问题:如果你担心响应能力,那么通过Ajax加载你的广告(我推荐jQuery)。这样,真实内容将很快加载,不久之后广告就会到来。

另一个需要考虑的选择是以某种方式缓存广告。

答案 1 :(得分:1)

更好的方法是让单独的脚本获取该信息,然后将其缓存在服务器上的文件中。然后提供该缓存文件。 cron作业可以不时刷新缓存,并且您网站的性能完全独立于广告服务器的可用性。现在,如果广告服务器已关闭,您的脚本将会挂起,直到请求超时,并且您的用户将永远站在空白屏幕上。