请原谅我,如果这些非常基本的问题已被多次询问和回答,但几个小时的搜索没有任何相关内容。
(1)在使用网页“上线”之后,Stackoverflow开发人员想要对页面进行一些更改,但是在完成PROTOTYPING和测试更改的循环之前,不希望这些更改“上线” (你知道,基本的SDLC)。他是如何在网站上这样做的?
(2)对问题进行更为基本的改述:当我花30分钟对现有的实时网页进行更新时,似乎任何访问该网页的访问者都会观察到每一次增量变化(包括我实时制作的无意失误,拼写错误等。我必须在这里遗漏一些非常明显的东西,所以请原谅我!如何在编辑会话期间对当前实况网页进行更改而不会造成混乱?
非常感谢!
答案 0 :(得分:0)
我看到很多不好的评论和一个错误的答案。你永远不会在实况页面上工作。怎么打破它怎么办?你问这个问题的事实告诉我你不够好,不会犯错误。
在我看来,实际上只有一种方法可以做到这一点。
创建一个子域dev.whatever.com并将您当前的实时网站放在那里。开始你的本地项目工作,当你对这个结果感到满意,然后把它移到你的开发站点以确保没有问题,先做好这一切,然后当你开心时,你就转移到现场。
答案 1 :(得分:-1)
除了我的评论之外,这里还有一个简单的缓存页面脚本,它使用一个define来允许页面以缓存模式或动态模式运行。将CACHESITE
切换为false以将其返回到页面的实时呈现。如果您是管理员(或您决定的其他触发器),则需要扩展以绕过缓存,这样您就可以看到正在进行的更改,但用户会看到缓存页面:
<?php
// If true, cache this page
define("CACHESITE",true);
function CachePage($content = '',$saveto = 'index.php')
{
ob_start();
echo $content;
$data = ob_get_contents();
ob_end_clean();
if(CACHESITE) {
// If you have a define for site root, use instead
$dir = $_SERVER['DOCUMENT_ROOT'].'/temp/';
if(is_file($cached = $dir.$saveto)) {
include($cached);
return;
}
if(!is_dir($dir))
mkdir($dir,0755,true);
$cfile = fopen($cached,'a');
fwrite($cfile,$data);
fclose($cfile);
}
return $data;
}
// Whatever your content is, it needs to be in a string
// Use output buffering if you have include pages
$test = 'test is the best'.rand();
echo CachePage($test,'thispage.php');
?>
无论如何,有很多方法可以做这种事情,但缓存效果相当好。
答案 2 :(得分:-1)
为什么不直接使用不同的文件名保存页面副本。上传并解决它,直到它按你想要的方式工作。除了你之外,没有人会知道页面存在,所以没有人会看到任何问题。一旦你满意,只需使用那些页面代码。