如何使用PHP OPCache?


Answers

OPcache取代了APC

由于OPcache旨在替换APC模块,因此无法在PHP中并行运行它们。 这对于缓存PHP操作码很好,因为它不会影响您编写代码的方式。

但是,这意味着如果您当前正在使用APC存储其他数据(通过apc_store()函数),如果您决定使用OPCache,则无法执行此操作。

您将需要使用另一个库,例如APCuYac ,它们都将数据存储在共享PHP内存中,或者切换到使用类似memcached的内容,这些内容将数据存储在内存中,并以单独的过程存储到PHP中。

另外,OPcache与APC中的上载进度表没有任何相同之处。 相反,您应该使用会话上传进度

OPcache的设置

OPcache的文档可以在here找到, here列出了所有的配置选项。 推荐的设置是:

; Sets how much memory to use
opcache.memory_consumption=128

;Sets how much memory should be used by OPcache for storing internal strings 
;(e.g. classnames and the files they are contained in)
opcache.interned_strings_buffer=8

; The maximum number of files OPcache will cache
opcache.max_accelerated_files=4000

;How often (in seconds) to check file timestamps for changes to the shared
;memory storage allocation.
opcache.revalidate_freq=60

;If enabled, a fast shutdown sequence is used for the accelerated code
;The fast shutdown sequence doesn't free each allocated block, but lets
;the Zend Engine Memory Manager do the work.
opcache.fast_shutdown=1

;Enables the OPcache for the CLI version of PHP.
opcache.enable_cli=1

如果您使用任何使用代码注释的库或代码,则必须启用保存注释:

opcache.save_comments=1

如果禁用,则会从代码中删除所有PHPDoc注释以减少优化代码的大小。 禁用“文档评论”可能会破坏一些现有的应用程序和框架(例如Doctrine,ZF2,PHPUnit)

Question

PHP 5.5已经发布,它具有一个名为OPCache的新代码缓存模块,但似乎没有任何文档。

那么它的文档在哪里以及如何使用OPcache?




在Amazon Linux上使用PHP 5.6(在RedHat或CentOS上应该相同):

yum install php56-opcache

然后重新启动apache。






Links



Tags

php php   opcache