首页 >后端开发 >PHP7 > 正文

php7 opcache开启不了怎么办

原创2022-11-24 09:47:32519 + php学习QQ群(点击入群)

php7开启opcache的方法:1、在CLI环境下,通过设置“opcache.enable_cli=1”启用opcache;2、通过“opcache.memory_consumption=128”设置opcache共享内存存储大小;3、开启Opcache File Cache,把opcode缓存缓存到外部文件中;4、重启php-fpm即可。

php入门到就业线上直播课:进入学习
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用

本教程操作环境:Windows7系统、PHP7版、Dell G3电脑。

php7 opcache开启不了怎么办?

PHP7开启opcache扩展的方法:

opcache:说白了就是将PHP源代码进行缓存,而不再需要编译二进制。

PHP7默认已经安装了opcahe拓展,只需要开启即可

vim /usr/local/php/etc/php.ini
zend_extension='opcache.so'
登录后复制

配置介绍

CLI环境下,PHP启用OPcache

opcache.enable_cli=1
登录后复制

;OPcache共享内存存储大小,单位MB

opcache.memory_consumption=128
登录后复制

;PHP使用了一种叫做字符串驻留(string interning)的技术来改善性能。例如,如果你在代码中使用了1000次字符串“foobar”,在PHP内部只会在第一使用这个字符串的时候分配一个不可变的内存区域来存储这个字符串,其他的999次使用都会直接指向这个内存区域。这个选项则会把这个特性提升一个层次——默认情况下这个不可变的内存区域只会存在于单个php-fpm的进程中,如果设置了这个选项,那么它将会在所有的php-fpm进程中共享。在比较大的应用中,这可以非常有效地节约内存,提高应用的性能。

这个选项的值是以兆字节(megabytes)作为单位,如果把它设置为16,则表示16MB,默认是4MB

opcache.interned_strings_buffer=8
登录后复制

;这个选项用于控制内存中最多可以缓存多少个PHP文件。这个选项必须得设置得足够大,大于你的项目中的所有PHP文件的总和。

设置值取值范围最小值是 200,最大值在 PHP 5.5.6 之前是 100000,PHP 5.5.6 及之后是 1000000。也就是说在200到1000000之间。

opcache.max_accelerated_files=4000
登录后复制

;设置缓存的过期时间(单位是秒),为0的话每次都要检查

opcache.revalidate_freq=60
登录后复制

;从字面上理解就是“允许更快速关闭”。它的作用是在单个请求结束时提供一种更快速的机制来调用代码中的析构器,从而加快PHP的响应速度和PHP进程资源的回收速度,这样应用程序可以更快速地响应下一个请求。把它设置为1就可以使用这个机制了。

opcache.fast_shutdown=1
登录后复制

;如果启用(设置为1),OPcache会在opcache.revalidate_freq设置的秒数去检测文件的时间戳(timestamp)检查脚本是否更新。

如果这个选项被禁用(设置为0),opcache.revalidate_freq会被忽略,PHP文件永远不会被检查。这意味着如果你修改了你的代码,然后你把它更新到服务器上,再在浏览器上请求更新的代码对应的功能,你会看不到更新的效果

强烈建议你在生产环境中设置为0,更新代码后,再平滑重启PHP和web服务器。

opcache.validate_timestamps=0
登录后复制

;开启Opcache File Cache(实验性), 通过开启这个, 我们可以让Opcache把opcode缓存缓存到外部文件中, 对于一些脚本, 会有很明显的性能提升.

这样PHP就会在/tmp目录下Cache一些Opcode的二进制导出文件, 可以跨PHP生命周期存在.

opcache.file_cache=/tmp
登录后复制

开发模式下推荐,直接禁用opcache扩展更好

opcache.enable=1
opcache.enable_cli=1
opcache.revalidate_freq=0
opcache.validate_timestamps=1
opcache.max_accelerated_files=3000
opcache.memory_consumption=192
opcache.interned_strings_buffer=16
opcache.fast_shutdown=1
登录后复制

多台机器集群模式或者代码更新频繁时推荐,可以兼顾性能,方便代码更新

opcache.enable=1
opcache.enable_cli=1
opcache.revalidate_freq=300
opcache.validate_timestamps=1
opcache.max_accelerated_files=7963
opcache.memory_consumption=192
opcache.interned_strings_buffer=16
opcache.fast_shutdown=1
登录后复制

稳定项目推荐,性能最好

opcache.enable=1
opcache.enable_cli=1
opcache.revalidate_freq=0
opcache.validate_timestamps=0
opcache.max_accelerated_files=7963
opcache.memory_consumption=192
opcache.interned_strings_buffer=16
opcache.fast_shutdown=1
登录后复制

清除缓存方式 重启 php-fpm

/etc/init.d/php-fpm restart
登录后复制

推荐学习:《PHP视频教程

以上就是php7 opcache开启不了怎么办的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

  • 相关标签:opcache PHP7
  • 程序员必备接口测试调试工具:点击使用

    Apipost = Postman + Swagger + Mock + Jmeter

    Api设计、调试、文档、自动化测试工具

    网页生成APP,用做网站的技术去做APP:立即创建

    手机网站开发APP、自助封装APP、200+原生模块、2000+映射JS接口按需打包

    相关文章

    相关视频


    视频教程分类

    专题推荐

    官方公众号

    php中文网课程

    扫码关注官方公众号
    回复“phpcn01”领取php学习资料课程
    全套工具、电子书、脑图、内部课程等

    推荐视频教程

    开通VIP会员课 0元学

    热门推荐