只有在apache关闭时才获取缓存页面 - PHP

时间:2011-10-18 11:06:08

标签: php

如果apache由于任何原因而关闭,我需要提供一个页面。 我想到的方法是让页面“缓存”,以便它始终可用。

但是我有两个问题: - 我希望页面始终可用(可能我可以将缓存限制设置为一个非常大的数字) - 当我缓存页面时,即使apache已启动,浏览器也会始终检索缓存页面。

所以任何人都可以建议我该怎么办?可能除了我正在使用的那个之外还有更好的选择吗?

这是我用作参考的代码:

<?php
session_cache_limiter('public');
$cache_limiter = session_cache_limiter();

session_cache_expire(60);
$cache_expire = session_cache_expire();

session_start();

echo "hello world 2222";
?>

提前致谢 约翰

3 个答案:

答案 0 :(得分:1)

我不确定这是怎么回事。如果apache关闭,这个默认页面将如何提供?如何将客户端定向到Web根目录?谁告诉客户这个默认页面在哪里?

我对“页面被缓存”的想法很感兴趣。将apache脱机后你有没有成功?为了缓存页面,是否需要浏览器访问页面一次?

这是我们想法的一个奇怪的补充。如何将一些javascript缓存到页面中。 javascript尝试进行ajax调用。如果不成功,则假定apache已关闭,然后将用户重定向到另一个服务器的网页,或者重新编写整个页面,并记住“服务器已关闭”页面。

不确定这些资源是否值得,但这是一个有趣的想法。

答案 1 :(得分:0)

您无法使用缓存执行此操作。

为了处理请求并检测Web服务器的不可用性,您需要能够处理http请求然后在Apache不可用时替换内容的东西,即第二个Web服务器。如果你有第二个网络服务器,为什么不加权平衡呢。

答案 2 :(得分:0)

感谢所有人的回答

我设法通过设置一个包含要附加到ajax调用的“dc”参数的cookie来实现。

整个页面使用ajax。

所以我在页面开头做了一个虚拟请求,如果没有响应,我从cookie中的“dc”参数集中获取缓存请求