首页 » 网站建设 » php编译报错opcache技巧_线上opcache问题分析

php编译报错opcache技巧_线上opcache问题分析

访客 2024-12-18 0

扫一扫用手机浏览

文章目录 [+]

[2017-11-29 19:09:02] xxxx,line:242 message:[code => 405 | msg => 要求方法缺点(GET or POST)。

追查

提示便是要求办法缺点,但是看代码统统正常,直接op重启php-fpm,然后正常了,线上开启了opcache,但是在发布代码后会自动触发fpm重启,不过并没有生效,追查问题。

php编译报错opcache技巧_线上opcache问题分析

查看路由文件(stat):

php编译报错opcache技巧_线上opcache问题分析
(图片来自网络侵删)

Access: 2017-11-29 18:28:17.553780923 +0800

Modify: 2017-11-29 18:35:15.539780895 +0800

Change: 2017-11-29 18:35:16.539780895 +0800

fpm重启正常,创造末了访问韶光明显比modify韶光晚,解释更新后并没有访问文件,还是走的缓存。
大致问题在于机器更新代码并未完成时,fpm就重启了,这两个操作存在秒级差的问题,偶现,该当和一次上线n个机器从一台代码做事器上拉取代码存在延迟导致的。

办理方法

1. 在根目录建立一个php文件,里面包含<?php opcache_reset();?> ,通过http要求(浏览器)来运行(最好限定下本地IP运行),由于opcache_reset在某些模式下不支持cli模式,所以为了统一,最好都通过http要求运行

2. 工具 Cachetool

3. 手动重启fpm,逼迫opcache更新

opcache配置项

开启办法:在php.ini中设置,

[opcache]zend_extension = \公众G:/PHP/php-5.5.6-Win32-VC11-x64/ext/php_opcache.dll\"大众

; Zend Optimizer + 的开关, 关闭时期码不再优化

opcache.enable=1

; Determines if Zend OPCache is enabled for the CLI version of PHP

opcache.enable_cli=1

; Zend Optimizer + 共享内存的大小, 统共能够存储多少预编译的 PHP 代码(单位:MB); 推举 128

opcache.memory_consumption=64

; Zend Optimizer + 暂存池中字符串的占内存总量.(单位:MB); 推举 8

opcache.interned_strings_buffer=4

; 最大缓存的文件数目 200 到 100000 之间; 这个选项用于掌握内存中最多可以缓存多少个PHP文件。
这个选项必须得设置得足够大,大于你的项目中的所有PHP文件的总和

opcache.max_accelerated_files=2000

; 内存“摧残浪费蹂躏”达到此值对应的百分比,就会发起一个重启调度.

opcache.max_wasted_percentage=5

; 开启这条指令, Zend Optimizer + 会自动将当前事情目录的名字追加到脚本键上,; 以此肃清同名文件间的键值命名冲突.关闭这条指令会提升性能,; 但是会对已存在的运用造成毁坏.

opcache.use_cwd=0

; 开启文件韶光戳验证,当这个选项被启用(设置为1),PHP会在opcache.revalidate_freq设置的韶光到达后检测文件的韶光戳(timestamp)。
如果这个选项被禁用(设置为0),opcache.revalidate_freq会被忽略,PHP文件永久不会被检讨

opcache.validate_timestamps=1

; 2s检讨一次文件更新 把稳:0是一贯检讨不是关闭; 推举 60,这个选项用于设置缓存的过期韶光(单位是秒),当这个韶光达到后,opcache会检讨你的代码是否改变,如果改变了PHP会重新编译它,天生新的opcode,并且更新缓存。
值为“0”表示每次要求都会检讨你的PHP代码是否更新

opcache.revalidate_freq=2

; 许可或禁止在 include_path 中进行文件搜索的优化

opcache.revalidate_path=0

; 是否保存文件/函数的注释 如果apigen、Doctrine、 ZF2、 PHPUnit须要文件注释; 推举 0

opcache.save_comments=1

; 是否加载文件/函数的注释

opcache.load_comments=1

; 打开快速关闭, 打开这个在PHP Request Shutdown的时候会收内存的速率会提高,推举 1

opcache.fast_shutdown=1

这里只列出部分配置,全部配置项请参考官方文档,关于opcache干系问题,欢迎留言谈论。

参考文档:

http://php.net/manual/zh/opcache.configuration.php#ini.opcache.revalidate-freq

标签:

相关文章

丹东,东北亚地区的重要门户与活力城市

丹东,这座位于中国东北边境的城市,拥有着得天独厚的地理位置和丰富的历史文化底蕴。作为东北亚地区的重要门户,丹东不仅是中国对外开放的...

网站建设 2024-12-23 阅读0 评论0

中文在JSP技术中的应用与发展

随着互联网技术的飞速发展,中文在Web开发中的应用日益广泛。JSP(JavaServer Pages)作为Java平台下的服务器端...

网站建设 2024-12-23 阅读0 评论0

乐陵网站建设,打造企业品牌新阵地

随着互联网的快速发展,网络已经成为企业展示形象、拓展市场的重要平台。乐陵,这座历史悠久的城市,正借助网站建设这股潮流,打造企业品牌...

网站建设 2024-12-23 阅读0 评论0

乐巍大数据,推动智慧城市建设的引擎力量

近年来,随着科技的飞速发展,大数据逐渐成为各行各业的重要驱动力。在我国,大数据产业得到了国家政策的扶持,市场规模不断扩大。其中,乐...

网站建设 2024-12-23 阅读0 评论0

东台网站建设,助力企业发展新引擎

随着互联网技术的飞速发展,网站已成为企业展示形象、拓展市场、提升品牌影响力的关键途径。东台作为我国江苏省的一个沿海城市,近年来在网...

网站建设 2024-12-23 阅读0 评论0