当我们部署我们的应用程序时,我们只需创建一个新文件夹并指向它的符号链接,因此apache将始终找到最新构建的方式。
但是,当我们部署并继续测试而没有首先重新启动Apache服务器时,我们会遇到奇怪的错误。我们也有APC运行,并且感觉缓存与此有关。
在APC处于活动状态时部署新版本的php应用程序时,是否需要重启apache是否正常?或者有更好的方法,例如使用shell脚本清除APC缓存?
答案 0 :(得分:8)
答案 1 :(得分:6)
取决于你是否在php.ini中打开或关闭apc.stat设置。如果为Off(典型的生产站点),则需要清除代码缓存或重启apache;如果开启,那么它应该自动获取新代码
答案 2 :(得分:0)
通常情况下,APC将“统计”每个PHP文件以查看自上次缓存以来它是否已更改。因此,对于所有应用程序升级,重新启动Apache不是必需。
但是如果您的应用程序使用apc_store()将应用程序数据存储在缓存中,并且某些数据在升级后可能会发生变化,那么重新启动Apache是一种简单的方法来刷新整个APC缓存。
我相信apache2ctl graceful
也会奏效。
此外,如果您关闭'stat'检查,APC的表现会好一些;因此,如果您禁用该功能,那么您仍然希望重新启动Apache。