APC,APCu和Opcache之间的区别?

时间:2015-03-21 20:19:17

标签: php caching apc opcache

我正在运行包含以下软件包的Web服务器; php-apc 3.1.7-1 php5-fpm 5.3.10-1ubuntu3.10

但是,我已经在Ubuntu 14.04上构建了一个新服务器,似乎不再有php-apc了。

因此,APC是我的巨大流量(100 k /每日独特访问)的生命服务器

我对PHP上的缓存机制有点困惑。 新服务器包括以下软件包: php-apc 4.0.2-2build1 php5-apcu 4.0.2-2build1 php5-fpm 5.5.9 + dfsg-1ubuntu4.7

phpinfo()给了我" apc"如模仿。据我所知,APC被APCu取代。

https://github.com/cepa/kickasscache 我正在为我的缓存运行这个免费课程,它确实在我的案例中保存了很多cpu / mem。 但我不明白这是否与APCu相同?

如果不是,我该如何设置正确的缓存? 因为我的新服务器资源有限,我需要一个解决方案。

php -v返回

PHP 5.5.9-1ubuntu4.7 (cli) (built: Mar 16 2015 20:47:39)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
    with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies

这是否意味着默认启用OPcache?

1 个答案:

答案 0 :(得分:18)

从PHP 5.5及更高版本开始,不需要APC(或任何类似的字节码缓存扩展,如XCache)。 PHP开发人员直接将他们称之为OPCache的内容集成到产品的核心中。这不仅提供了更高的整体产品稳定性,而且得到了PHP开发人员的正式支持。

如果您需要APC中不属于OPCache的特定功能(例如APCu功能),那么您应该开始讨论php-dev邮件列表。

最后,一个好的经验法则是只运行php.net主页上列出的PHP版本。虽然发行版通常会后退安全修复程序,但较新版本的PHP具有更多有用的功能。较新版本的PHP通常也具有显着的性能优势,可能允许您绕过需要额外的PECL扩展,例如APCu。