svn export使我的页面空白

时间:2011-05-18 11:18:50

标签: php apache svn codeigniter centos

我正在将LAMP与CodeIgniter一起用于我的一个项目;版本由SVN控制。每当我在www目录中执行svn export file:///svnrepo/project/trunk/www . --force然后重新加载网页时,它就会变为空白。

该网站仅在我执行service httpd restart(使用CentOS 5)后显示。

我希望以后能够使用Phing构建脚本执行svn导出,并且我不希望每次构建时都获得root权限并重新启动apache。

我遇到的常见问题是什么?如何在不重启apache的情况下解决它?

修改 似乎有人之前遇到过这个问题:http://codeigniter.com/forums/viewthread/181642/

2 个答案:

答案 0 :(得分:0)

好的,我知道了.SN维护了一个文件上次修改时间,它抛出了APC缓存。因此,为了解决这个问题,我们在运行SVN导出后更新所有文件的上次修改时间。这是我的最终剧本:

#!/bin/sh
svn export --force file:///home/steve/repo/exmaple/trunk \
 /home/steve/public_html/example.com/public/
find /home/steve/public_html/exmaple.com/public | xargs touch

您可以找到更多详情here

答案 1 :(得分:0)

另一种解决方案是在apc.ini中设置apc.stat = 0(reference),然后使用apc_clear_cache()reference)强制删除操作码高速缓存中。

此解决方案的优点在于,当apc.stat设置为0时,它会禁用对每个请求的检查,以确定文件是否已被修改。这导致了巨大的性能提升。

此外,使用apc_clear_cache()清除APC缓存往往会导致更清晰的构建。我遇到了不稳定的竞争条件,其中某些文件将被构建出来,这些文件依赖于尚未构建的其他文件。这导致了一系列致命错误。这里唯一需要注意的是apc_clear_cache()需要通过apache运行,所以你需要为此实现一个wget或类似的东西。