我们是否需要在应用程序的新版本部署后重新启动apache + APC?

时间:2010-06-29 20:09:51

标签: php apache deployment apc

当我们部署我们的应用程序时,我们只需创建一个新文件夹并指向它的符号链接,因此apache将始终找到最新构建的方式。

但是,当我们部署并继续测试而没有首先重新启动Apache服务器时,我们会遇到奇怪的错误。我们也有APC运行,并且感觉缓存与此有关。

在APC处于活动状态时部署新版本的php应用程序时,是否需要重启apache是​​否正常?或者有更好的方法,例如使用shell脚本清除APC缓存?

3 个答案:

答案 0 :(得分:8)

您可以使用apc_clear_cache()

参见相关问题:

How to clear APC cache entries?

How to clear APC cache without crashing Apache?

答案 1 :(得分:6)

取决于你是否在php.ini中打开或关闭apc.stat设置。如果为Off(典型的生产站点),则需要清除代码缓存或重启apache;如果开启,那么它应该自动获取新代码

答案 2 :(得分:0)

通常情况下,APC将“统计”每个PHP文件以查看自上次缓存以来它是否已更改。因此,对于所有应用程序升级,重新启动Apache不是必需

但是如果您的应用程序使用apc_store()将应用程序数据存储在缓存中,并且某些数据在升级后可能会发生变化,那么重新启动Apache是​​一种简单的方法来刷新整个APC缓存。

我相信apache2ctl graceful也会奏效。

此外,如果您关闭'stat'检查,APC的表现会好一些;因此,如果您禁用该功能,那么您仍然希望重新启动Apache。