相关疑难解决方法(0)

使用Capifony部署Symfony2应用程序 - APC加载程序仍使用以前的版本

我最近将我的Symfony2应用程序升级到2.1并将其迁移到新服务器,因此我认为我将配置Capifony以使部署更简单.一切都变得很好,除了它现在没有使用APCLoader的事实,所以我不得不暂时评论它,直到它被排序.

以下是相关代码app.php:

$loader = require_once __DIR__.'/../app/bootstrap.php.cache';

// Use APC for autoloading to improve performance.
// Change 'sf2' to a unique prefix in order to prevent cache key conflicts
// with other applications also using APC.

$loader = new ApcClassLoader('my_prefix', $loader);
$loader->register(true);
Run Code Online (Sandbox Code Playgroud)

问题是'my_prefix'每个版本不是唯一的,因此它最终会尝试查找属于以前版本的缓存文件,这些文件可能存在也可能不存在.这显然是一个非常大的问题!

什么是最好的解决方案?我应该以某种方式编写一个在部署之前运行capifony的任务,将前缀更改为唯一的东西,例如#{latest_release}变量?或者我应该在每次部署后以某种方式重置APC缓存的全部内容?

我不太确定做这些事情的最佳方法,所以如果你推荐其中一个可以请你指出正确的方向来实现它吗?或者有没有我想到的替代解决方案?

php apc symfony capifony

4
推荐指数
1
解决办法
1925
查看次数

使用Symfony的OpCache

我知道你可以使用Symfony APC或XCache Class Loader.不幸的是,在我放置Symfony代码的共享服务器中,只激活了OpCache.

我可以在OpCache中使用Symfony吗?如果是的话,我的app.php中的代码如何以及是什么?如果没有,请问为什么?

symfony opcache

4
推荐指数
1
解决办法
5716
查看次数

标签 统计

symfony ×2

apc ×1

capifony ×1

opcache ×1

php ×1