APC,APCu和Opcache之间的区别?

2022-08-30 12:05:11

我正在运行具有以下软件包的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

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

如果您需要来自APC的特定功能(例如APCu功能),那么您应该在php-dev邮件列表上开始讨论。

最后,一个好的经验法则是只运行 php.net 主页上列出的PHP版本。虽然发行版通常会向后移植安全修复程序,但较新版本的PHP具有更多有用的功能。较新版本的PHP通常还具有显着的性能优势,可以让您绕过需要其他PECL扩展(如APCu)的麻烦。


答案 2

推荐