Symfony2:使用 OpCache 缓存 "Class Loader"

Symfony2: Cache a "Class Loader" with OpCache

PHP 具有一个名为 OPCache. Symfony2 recommended to use ApcClassLoader (based on APC) or XcacheClassLoader (based on XCache) 的新代码缓存模块,用于缓存从 class 到其包含文件的映射。我的服务器(带有 PHP 5.6 的 Apache 2.4)使用 OpCache.

  1. 是否有 OpCache 的替代 "cache mapping"?我还没找到。
  2. 我可以同时使用 APCOpCache(我可以使用 ApcClassLoader)?我觉得不是。

在 PHP 5.4 版之前,APC 的使用是有意义的。 但即使是 5.4,它也不完全兼容。 从 PHP 5.5 开始,最好使用 APCu.

从 PHP 5.5 开始,Zend Opcache 是核心 PHP 发行版的一部分。 您可以将它与 APCu 结合使用。

将模拟对旧 APC 函数的调用:apc_*()-> apcu_*()。 "APC emulation" 将在加载 APCu ext 时显示在 phpinfo() 中。

因此给定 PHP 带有 OpCache 和 APCu 的 5.6,SF2 ApcClassLoader 应该可以工作。

问题 1 的答案: OpCache 不像 APC 那样是一个完整的缓存,它是一个带有一些优化步骤的简单操作码缓存。而且它不是用户态缓存 - "just" 内部缓存,加快了 PHP 的处理速度。