opcache运行时配置参数详解
PHP的opcode缓存又出 了新成员(说新不新,也有一段日子了),那就是opcache。新浪微博等都在使用,惠新宸老师强力推荐。本人最近根据官网地址 (http://www.php.net/manual/zh/book.opcache.php)整理了一下,其安装非常简单,5.5.0 后将自动在php内核中,不必单独安装,之前的版本的安装也同其它php扩展一样,源码地址http://pecl.php.net/package/ZendOpcache,就不赘述了。
那么在安装后如何使用并配置opcache,使之能更好地为我们服务呢?整理了一下其在php.ini中各参数的使用说明,供大家参考,有一些不太懂的,就留空了,还请高手赐教。
名字 | 默认 | 可修改范围 | 含义 | ||||
---|---|---|---|---|---|---|---|
opcache.enable | "1" | PHP_INI_ALL | 是否启用opcache | ||||
opcache.enable_cli | "0" | PHP_INI_SYSTEM | 是否在CLI(即命令行时)启用opcache | ||||
opcache.memory_consumption | "64" | PHP_INI_SYSTEM | 为opcache分配多少共享内存,单位M | ||||
opcache.interned_strings_buffer | "4" | PHP_INI_SYSTEM | opcache.max_accelerated_files | "2000" | PHP_INI_SYSTEM |
最大缓存的文件数目。 实际上这个值会使用第一个大于你配置的数字的下列素数 { 223, 463, 983, 1979, 3907, 7963, 16229, 32531, 65407, 130987 }, 如你将该值指定为400,则实际上该值为463. |
|
opcache.max_wasted_percentage | "5" | PHP_INI_SYSTEM | |||||
opcache.use_cwd | "1" | PHP_INI_SYSTEM |
如果置为1,则将当前路径加入到文件key中, 以避免可能产生的同文件名的文件key冲突 |
||||
opcache.validate_timestamps | "1" | PHP_INI_ALL |
如果置为1,则OPCACHE会自动检测文件的时间戳 (检测周期为revalidate_freq), 并根据文件的时间戳来更新opcode,如果置为0, 则只能手动去重启opcache或 重启webserver以使更新后的php文件生效 |
||||
opcache.revalidate_freq | "2" | PHP_INI_ALL |
opcache自动检测文件是否更新的周期,单位秒。 如果是0,则每次请求时opcache都要进行检测。 当validate_timestamps为0时,本指令无效。 |
||||
opcache.revalidate_path | "0" | PHP_INI_ALL | |||||
opcache.save_comments | "1" | PHP_INI_SYSTEM | 是否保存文件中的注释 | ||||
opcache.load_comments | "1" | PHP_INI_ALL |
是否load comments,与save_comments联合起来使用, 如果该值为0,则即使save_comments为1, 那么php脚本中的comments也是不使用的 |
||||
opcache.fast_shutdown | "0" | PHP_INI_SYSTEM |
是否打开快速关闭, 打开时可使php在request shutdown时回收内存快 |
||||
opcache.enable_file_override | "0" | PHP_INI_SYSTEM |
如果置为1,则每次调用file_exist() is_file() is_readable()函数时, opcache将要检查该文件是否被cache了, 这样增加了检查存在性和可读性的开销, 但避免了当validate_timestamps为disable时返回错误文件状态的风险。 |
||||
opcache.optimization_level | "0xffffffff" | PHP_INI_SYSTEM | 运行时控制优化的掩码(干什么的?) | ||||
opcache.inherited_hack | "1" | PHP_INI_SYSTEM | 5.3以前使用。5.3后废弃 | ||||
opcache.dups_fix | "0" | PHP_INI_ALL | 为解决“cannot redecllare class" 时,可将其置为1 | ||||
opcache.blacklist_filename | "" | PHP_INI_SYSTEM |
设置黑名单文件,符合黑名单文件中定义的php文件将不被opcache。黑名单文件的例子如下: ; Matches a specific file. 一行为一条规则,支持通配符,注释以分号开头 |
||||
opcache.max_file_size | "0" | PHP_INI_SYSTEM | 被cache的文件的最大size,单位bytes。0表示不限 | ||||
opcache.consistency_checks | "0" | PHP_INI_ALL |
如果置为N,N非零,则opcache会每N个请求核实一下cache的检验和。 这会损害性能,应该只在debug时使用 |
||||
opcache.force_restart_timeout | "180" | PHP_INI_SYSTEM | 如果opcache处于非active状态,当N秒后opcache将自动重启 | ||||
opcache.error_log | "" | PHP_INI_SYSTEM | opcache自身的errorlog文件路径,为空时则使用stderr | ||||
opcache.log_verbosity_level | "1" | PHP_INI_SYSTEM | 日志记录level,默认只有fatal error和error | ||||
opcache.preferred_memory_model | "" | PHP_INI_SYSTEM |
opcache首选使用的内存模型,为空时会选择最适当的模型。 常用的有,mmap shm posix 和win32 |
||||
opcache.protect_memory | "0" | PHP_INI_SYSTEM |
运行php脚本时保护共享内存防止意外的写入。 只对debug时有用。 |
||||
opcache.mmap_base | NULL |
PHP_INI_SYSTEM |
转载:http://blog.csdn.net/bly1126/article/details/19077853
opcache运行时配置参数详解的更多相关文章
- mha配置参数详解
mha配置参数详解: 参数名字 是否必须 参数作用域 默认值 示例 hostname Yes Local Only - hostname=mysql_server1, hostname=192.168 ...
- reids配置参数详解
转自:http://www.jb51.net/article/60627.htm reids配置参数详解 #daemonize no 默认情况下, redis 不是在后台运行的,如果需要在后台运行, ...
- Redis配置参数详解
Redis配置参数详解 /********************************* GENERAL *********************************/ // 是否作为守护进 ...
- MHA配置参数详解 【转】
mha配置参数详解: 参数名字 是否必须 参数作用域 默认值 示例 hostname Yes Local Only - hostname=mysql_server1, hostname=192.168 ...
- zookeeper的配置参数详解(zoo.cfg)
配置参数详解(主要是%ZOOKEEPER_HOME%/conf/zoo.cfg文件) 参数名 说明 clientPort 客户端连接server的端口,即对外服务端口,一般设置为2181吧. data ...
- [转帖]持久化journalctl日志清空命令查看配置参数详解
持久化journalctl日志清空命令查看配置参数详解 最近 linux上面部署服务 习惯使用systemd 进行处理 这样最大的好处能够 使用journalctl 进行查看日志信息. 今天清理了下 ...
- nginx配置参数详解
配置参数详解 user nginx nginx ; Nginx用户及组:用户 组.window下不指定 worker_processes 8; 工作进程:数目.根据硬件调整,通常等于CPU数量或者2倍 ...
- java程序运行时内存分配详解
java程序运行时内存分配详解 这篇文章主要介绍了java程序运行时内存分配详解 ,需要的朋友可以参考下 一. 基本概念 每运行一个java程序会产生一个java进程,每个java进程可能包含一个 ...
- samba 配置参数详解
samba 配置参数详解: 一.全局配置参数 workgroup = WORKGROUP说明:设定 Samba Server 所要加入的工作组或者域. server string = Samba S ...
随机推荐
- tar备份系统的方法
下面是备份系统的方法: 然后打开终端,输入以下命令: 1.成为根用户: sudo su 2.转到根目录: cd / 然後,下面就是我用来备份我的系统的完整的命令:tar -cvpzf /med ...
- spring源码分析之spring-web http详解
spring-web是spring webmvc的基础,它的功能如下: 1. 封装http协议中client端/server端的request请求和response响应及格式的转换,如json,rss ...
- Authentication
Authentication Introduction Configuration Storing Passwords Authenticating Users Basic Usage Introdu ...
- Making Use of Forms and Fieldsets
Making Use of Forms and Fieldsets So far all we have done is read data from the database. In a real- ...
- Oracle建表实例
建表一般来说是个挺简单的事情,但是Oracle的建表语句有很多可选的参数,有些我们可能平时不太用,用的时候又不知道怎么用,这里就写一个较完整的建表的例子: CREATE TABLE banping ...
- marine
- eclipse创建项目时出现appcompat_v7包及解决办法
Android开发学习总结(三)--appcompat_v7项目说明 一.appcompat_v7项目说明 今天来说一下appcompat_v7项目的问题,使用eclipse创建Android项目时, ...
- JAVA_Gson
package com.qf.mobiletrain01; import java.util.List; import com.google.gson.Gson; import com.google. ...
- [转载]删除所有的.svn文件夹
Windows 下,在DOS窗口中运行如下命令 dos 代码 for /r <你项目的路径> %i in (.svn) do rd /s /q %i Linux 下,可以先运行 显示出当前 ...
- c# 远程监控(1) 大纲
此篇文章主要讲了如何使用C# Winform程序模拟一个远程监控系统,并使用RTP实时传输协议传输数据. 应用场景:远程监控.局域网视频会议.客户端流式缓冲播放 这方面的资料还是有一些,但是都需要整合 ...