请选择
进入手机版
|
继续访问电脑版
首页
Portal
业界资讯
社区
BBS
我的家园
Space
个人空间
导读
Guide
登录
/
注册
用户名
Email
自动登录
找回密码
密码
登录
注册
搜索
搜索
本版
帖子
用户
本版
帖子
用户
帖子
好友
道具
勋章
收藏
任务
淘帖
门户
导读
设置
我的收藏
退出
腾讯QQ
微信登录
首页
›
≡≡网络技术≡≡
›
服务器
›
PHP安装使用Zend Opcache扩展
返回列表
其它
PHP安装使用Zend Opcache扩展
[ 复制链接 ]
灰儿
2019-10-25 11:33:51
简介
Zend OPCache 的前身是Zend Optimizer + (Zend O+),于 2013年3月中旬改名为 Opcache。其通过 opcode 缓存和优化提供更快的 PHP 执行过程。它将预编译的脚本文件存储在共享内存中供以后使用,从而避免了从磁盘读取代码并进行编译的时间消耗。同时,它还应用了一些代码优化模式,使得代码执行更快。
PHP 在5.5发行版后自带了Zend OPCache扩展,但默认没有开启,PHP5.2,5.3,5.4版也可以使用,但需要自行下载扩展。
什么是opcode缓存
当解释器完成对脚本代码的分析后,便将它们生成可以直接运行的中间代码,也称为操作码(Operate Code,opcode)。
Opcode cache 的目地是避免重复编译,减少 CPU 和内存开销。如果动态内容的性能瓶颈不在于 CPU 和内存,而在于 I/O 操作,比如数据库查询带来的磁盘 I/O 开销,那么 opcode cache 的性能提升是非常有限的。
但是既然 opcode cache 能带来 CPU 和内存开销的降低,这总归是好事 —— 本着环保的态度,也应该尽量减少消耗不是? :D
现代操作码缓存器(Optimizer+,APC2.0+,其他)使用共享内存进行存储,并且可以直接从中执行文件,而不用在执行前“反序列化”代码。这将带来显着的性能加速,通常降低了整体服务器的内存消耗,而且很少有缺点。
Windows下的配置
1,PHP5.5版本前到此下载扩展,放到zend_ext目录中。
2,修改php.ini配置
[php]
engine = On
zend_extension=php_opcache.dll
3,根据官方建议php.ini的 [opcache] 下修改配置,以获得更好的性能
复制代码
[opcache]
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1
复制代码
Linux下的配置
1,安装扩展(PHP5.5版本以上跳过此步)
复制代码
wget
http://pecl.php.net/get/zendopcache-7.0.5.tgz
tar zxvf zendopcache-7.0.5.tgz
cd zendopcache-7.0.5
/path/to/php/bin/phpize
./configure --with-php-config=/path/to/php/bin/php-config
make && make install
复制代码
2,修改php.ini
①在[php]下添加
zend_extension=php_opcache.so
②在[opcache]下添加
复制代码
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1
复制代码
配置完成后重启apache或php-fpm,phpinfo()看到Zend OPCache为Enabled
或
php -m|grep opcache,有显示opcache
或
php -v 显示with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies 即可
设置例外
也许服务器上某些内容,比如正在进行调试的网站等,我们不希望对其进行 OPcache。那就可以通过黑名单来将需要例外的文件排除掉。
在 OPcache 的配置文件中有一行配置,如下,
opcache.blacklist_filename=/etc/php.d/opcache*.blacklist
该配置指定用于存储文件名黑名单的那个文件。很显然这里使用通配符 * 来指定了一系列文件而不仅仅是特定某个文件。可以一直启用这一行。等到需要排除某些文件的时候,就编辑对应的黑名单文件。例如,针对 /srv/www/sites/devSite 文件夹下的所有文件,编辑(或者新建)文件,
vim /etc/php.d/opcache-devSite.blacklist
内容为,
/srv/www/sites/devSite/*
通配符 * 表示所有 devSite 文件夹下的文件。
完了之后重新启动 php-fpm 服务就可以了。
常用函数
复制代码
opcache_compile_file($php_file); #预生成opcode缓存
opcache_is_script_cached($php_file) #查看是否生成opcode缓存
opcache_invalidate($php_file, true) #清除单个缓存
opcache_reset(); #清空缓存
opcache_get_status(); #获取缓存的状态信息
opcache_get_configuration(); #获取缓存的配置信息
复制代码
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
回复
本版积分规则
回帖后跳转到最后一页
灰儿
管理员
9820篇
主题总数
7
总热度
提问
+关注
产品动态
2024-03-28
在线网络子网掩码和IP地址范围计算器
2024-03-26
神州数码云科(DCN)交换机WEB管理界面重启交换机设备方法
2024-03-24
路由器和三层交换机的ACL(访问控制列表)和防火墙安全策略
2024-03-24
三层交换机与路由器配置上网
2024-03-24
3层交换机vlan互访还需要设置回程路由吗?
2024-03-23
网御星云_V6000_P1320安全网关内网访问互联网路由模式配置
2024-03-14
网络路由跟踪命令tracert与traceroute命令详解
2024-03-13
神州数码DCFW-1800E-N6002防火墙路由器SSL VPN设置教程
热点推荐
1
在线网络子网掩码和IP地址范围计算器
2
神州数码云科(DCN)交换机WEB管理界面重启交换机设备方法
3
路由器和三层交换机的ACL(访问控制列表)和防火墙安全策略
4
三层交换机与路由器配置上网
5
3层交换机vlan互访还需要设置回程路由吗?
6
网御星云_V6000_P1320安全网关内网访问互联网路由模式配置
7
网络路由跟踪命令tracert与traceroute命令详解
8
神州数码DCFW-1800E-N6002防火墙路由器SSL VPN设置教程
热门板块
PC操作系统
启动和引导
手机操作系统
硬件相关
办公软件
多媒体技术
产品动态
2024-03-28
在线网络子网掩码和IP地址范围计算器
2024-03-26
神州数码云科(DCN)交换机WEB管理界面重启交换机设备方法
2024-03-24
路由器和三层交换机的ACL(访问控制列表)和防火墙安全策略
2024-03-24
三层交换机与路由器配置上网
2024-03-24
3层交换机vlan互访还需要设置回程路由吗?
2024-03-23
网御星云_V6000_P1320安全网关内网访问互联网路由模式配置
2024-03-14
网络路由跟踪命令tracert与traceroute命令详解
2024-03-13
神州数码DCFW-1800E-N6002防火墙路由器SSL VPN设置教程
热点推荐
1
在线网络子网掩码和IP地址范围计算器
2
神州数码云科(DCN)交换机WEB管理界面重启交换机设备方法
3
路由器和三层交换机的ACL(访问控制列表)和防火墙安全策略
4
三层交换机与路由器配置上网
5
3层交换机vlan互访还需要设置回程路由吗?
6
网御星云_V6000_P1320安全网关内网访问互联网路由模式配置
7
网络路由跟踪命令tracert与traceroute命令详解
8
神州数码DCFW-1800E-N6002防火墙路由器SSL VPN设置教程
热门板块
PC操作系统
启动和引导
手机操作系统
硬件相关
办公软件
多媒体技术
学习中心
站长自定义文字内容,利用碎片时间,随时随地获取优质内容。
Q设计语言
了解更多
Q Design 提供商家设计所需的指导与资源,帮商家快速完成产品设计、降低生产成本。
学习中心
站长自定义文字内容,利用碎片时间,随时随地获取优质内容。
Q设计语言
了解更多
Q Design 提供商家设计所需的指导与资源,帮商家快速完成产品设计、降低生产成本。