opcache 的前生是 optimizer+
,它是 zend 开发的 php 优化加速组件。optimizer+ 将 php 代码预编译生成的脚本文件 opcode
缓存在共享内存中供以后反复使用,从而避免了从磁盘读取代码再次编译的时间消耗。同时,它还应用了一些代码优化模式,使得代码执行更快。从而加速 php 的执行。
正常的执行流程如下:
开启 opcache 后的执行流程如下:
php -v yum list *opcache* yum -y install rh-php71-php-opcache.x86_64
kill -usr2 cat `/usr/local/php/var/run/php-fpm.pid` nginx -s reload
zend_extension=opcache.so [opcache] ;开启opcache功能 opcache.enable=1 ;cli环境下,开启opcache功能 opcache.enable_cli=1 ;opcache共享内存的大小,单位mb opcache.memory_consumption=128 ;字符串在进程间驻留科使用的内存大小,单位mb opcache.interned_strings_buffer=8 ;内存中可以缓存的文件量。200-1000000之间 ;可以使用“find . -type f -print | grep php | wc -l”统计文件数 opcache.max_accelerated_files=4000 ;缓存的过期时间,单位秒 opcache.revalidate_freq=60 ;开启快速响应机制来调用代码中的析构器,php 7.2.0 开始移除 opcache.fast_shutdown=1 ;开启文件更新检查,到达 revalidate_freq 时间之后会检查文件变更并更新缓存,设为0则永不检查 opcache.validate_timestamps=1 ;开启缓存二进制导出文件到外部文件,位置为传入的值 opcache.file_cache=/tmp
php -m 或 <?php phpinfo(); ?>
// 重置所有的opcache缓存。fpm模式下生成的缓存,在cli下不能reset。 var_dump(opcache_reset()); //bool(true)
如对本文有疑问, 点击进行留言回复!!
*HDU1024.Max Sum Plus Plus(DP+滚动数组优化)
荐 「PHP」不依赖集成环境,使用Nginx手动配置Thinkphp运行环境
网友评论