PHP性能加速-开启Opcache

编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快;而解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的

对于一个编译型程序(比如Java,C),它的编译和执行是分开的,先编译成二进制可执行文件,然后再次执行。

PHP性能加速-开启Opcache

对于PHP、Python属于解释型语言,不产生机器码,而是产生中间码(中间码是不能直接执行,这个中间码只有解释器可以识别到,中间码要靠解析器来进行执行)

PHP性能加速-开启Opcache

比如说PHP的解析器是Zend,PHP使用Zend引擎,中间码我们也称作为操作码(opcode)

PHP属于解释型语言,在执行代码过程中,翻译器并不产生目标机器代码,而是产生易于执行的中间代码,这种中间代码每执行一次就翻译一次,通常会导致执行效率较低,而在PHP7中可以直接开启Opcache来进行性能优化和加速。

PHP 5.5+版本以上的,可以使用PHP自带的opcache开启性能加速(默认是关闭的)

1. 打开php.ini文件

php -i | grep php.ini

找到php的配置文件

2. 配置Opcache

使用vim打开php.ini文件,找到[opcache],设置如下:

[opcache]
; 开关打开
opcache.enable=1
; 设置共享内存大小, 单位为:Mb
opcache.memory_consumption=128
;如果启用,那么 OPcache 会每隔 opcache.revalidate_freq 设定的秒数 检查脚本是否更新。 如果禁用此选项,你必须使用 opcache_reset() 或者 opcache_invalidate() 函数来手动重置 OPcache,也可以 通过重启 Web 服务器来使文件系统更改生效。
opcache.validate_timestamps=60

然后找到zend_extension="opcache.so"这行,把前面的分号去掉,如果没有这行,请在文件末尾添加。

3. 重启php-fpm服务

重启php-fpm,让配置生效。

# /etc/init.d/php-fpm restart

使用php -m查看Opcache是否生效。

# php -m
[PHP Modules]
....
[Zend Modules]
Zend OPcache
本作品采用《CC 协议》,转载必须注明作者和本文链接
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!