Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 不要缓存一些HTML_Php_Mediawiki - Fatal编程技术网

Php 不要缓存一些HTML

Php 不要缓存一些HTML,php,mediawiki,Php,Mediawiki,我想知道是否可以从缓存中排除一些HTML。我正在使用MediaWiki软件。因此,任何MediaWiki解决方案或任何其他PHP解决方案都可以工作 我的Mediawiki页面被缓存,我正在实现站点通知功能,该功能将在几天后过期。但是当页面被缓存时,它不会遵守我的到期日期,也不会一直显示。因此,我想从缓存中排除这部分代码。我将其实现为MediaWiki扩展 谢谢MediaWiki缓存可以在许多层中工作。除了客户机中的缓存之外,还有许多。正如您可能已经注意到的,除非您至少实现了一些缓存功能,否则MW

我想知道是否可以从缓存中排除一些HTML。我正在使用MediaWiki软件。因此,任何MediaWiki解决方案或任何其他PHP解决方案都可以工作

我的Mediawiki页面被缓存,我正在实现站点通知功能,该功能将在几天后过期。但是当页面被缓存时,它不会遵守我的到期日期,也不会一直显示。因此,我想从缓存中排除这部分代码。我将其实现为MediaWiki扩展


谢谢

MediaWiki缓存可以在许多层中工作。除了客户机中的缓存之外,还有许多。正如您可能已经注意到的,除非您至少实现了一些缓存功能,否则MW i的速度是出了名的慢

首先,您需要确定缓存了哪些sitenotices。我相信您也知道,您可以在其中设置sitenotice:

MediaWiki:Anonnotice MediaWiki:Sitenotice LocalSettings.php中的$wgSiteNotice 通过几个不同的扩展 他们都在页面上停留的时间太长了吗? 其次,您可以尝试找出sitenotice的缓存位置:

如果您登录/注销,有什么区别吗?对于匿名用户,接口的某些部分可能更难缓存。 如果清除浏览器缓存,消息是否会消失? 尝试禁用或Squid,如果您正在使用其中任何一种。 暂时禁用,看看它有什么不同。 设置$wgCachePages=false;在LocalSettings.php中,尝试并禁止客户端缓存
浏览器缓存整个页面,而不是部分浏览器缓存整个资源,而不是整个页面。HTML与页面上的其他资源是分开的。如果你有一些JavaScript在你的页面上显示一个不允许缓存的通知,你仍然可以缓存页面的HTML并获得你想要的效果。我没有使用任何内置的站点通知功能。我在我的网站上使用pNotify来显示维护通知。sysop可以设置一个通知以在一定时间内显示。在这段时间里,我要么不希望浏览器缓存那个文件,要么干脆不缓存JS和HTML代码的那个部分。清除我的浏览器缓存没有任何帮助,因为内容是由MediaWiki从缓存的html页面加载的。您有什么理由不想使用内置功能,这些功能已经为您解决了所有的兑现逻辑?是的,我们将在站点通知区域永久显示其他内容。所以我们不能使用站点通知功能。此外,我们希望站点通知由非技术性sysop用户从我为他们创建的管理仪表板进行管理。站点通知应在指定日期/时间自动开始显示,也应在指定日期/时间停止显示。此外,一旦解雇,现场通知在规定的天数内不应显示。我不能使用内置的站点通知功能来实现这一点。