php urlencode不生效_PHP - 性能优化第一步 - 开启Opcache

php的编译和执行是分开的,先编译成二进制可执行文件,然后在次执行。

对于PHP、Python属于解释型语言,不产生机器码,而是产生中间码(中间码是不能直接执行,这个中间码只有解释器可以识别到,中间码要靠解析器来进行执行)PHP的解析器是Zend,PHP使用Zend引擎,中间码我们也称作为操作码(opcode)

鸟哥在博客中说,提高PHP 7性能的几个tips,第一条就是开启opache,引用下原文:

记得启用Zend Opcache, 因为PHP7即使不启用Opcache速度也比PHP-5.6启用了Opcache快

APC与Opcache都是字节码缓存也就是,PHP在被编译的时候,首先会把php代码转换为字节码,字节码然后被执行。

php文件第二次执行时,同样还是会重新转换为字节码,但是很多时候,文件内容几乎是一样的,比如静态HTML文件,生成后内容许久都不会改变,用户访问请求直接由服务器读取响应给客户端浏览器。都不用经过PHP进行解析构建了。

内存中的字节码数据,可以直接缓存进行二次编译。这样程序就会快一些,cpu的消耗也少了。
(这里字节码 就是 opcode)实测PHP7.4开启Opcache前后差距
开启前:

036e62e7a81270f0a77b473f50279b4f.png

QQ图片20200214172012.png

开启后:

eb1e0f050051e19625017f1dd17cf8cb.png

QQ截图20200214172038.png

开启opcache方法

打开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

#提示:在opcache使用软连接的情况下,会存在opcache没有被清除的情况.可以使用重启fastcgi来解决这个问题.

在php.ini最后一行添加opcache.so 主要作用是用来引用opcache

[root@abcdocker ~]# tail /etc/php.ini 
zend_extension="opcache.so"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值