wrjc1hod 发表于 2024-10-4 17:05:40

什么是php的opcache ? 你又是怎么样去运用的呢?


    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><strong style="color: blue;">商务合作加<span style="color: black;">微X</span>:2230304070&nbsp;</strong></span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><strong style="color: blue;"><span style="color: black;">学习与交流:</span></strong><a style="color: black;"><span style="color: black;"><strong style="color: blue;"><span style="color: black;">PHP技术交流<span style="color: black;">微X</span>群&nbsp;</span></strong></span></a></span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><strong style="color: blue;"><span style="color: black;">2023年 JetBrains<span style="color: black;">整家</span>桶通用激活码&amp;账号&nbsp;支持最新版本</span></strong></span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><strong style="color: blue;"><span style="color: black;">https://www.mano100.cn/thread-1942-1-1.html</span></strong></span></p>PHP OPCache(Opcode Cache)是一种用于<span style="color: black;">加强</span> PHP 脚本性能的缓存技术。它工作在 PHP 解释器和服务器之间,用于存储编译后的 PHP 代码(<span style="color: black;">叫作</span>为 Opcode),以便下次请求时<span style="color: black;">能够</span>直接<span style="color: black;">运用</span>,从而减少了重复的解析和编译过程,<span style="color: black;">加强</span>了脚本的执行速度。当 PHP 文件被解析和编译后,生成的 Opcode 存储在内存中。下次请求相同的 PHP 文件时,PHP OPCache <span style="color: black;">能够</span>直接从内存中读取 Opcode,而无需重新解析和编译,从而加快了代码执行速度。这<span style="color: black;">针对</span>高流量的 Web 应用和频繁执行的脚本<span style="color: black;">尤其</span>有益。PHP OPCache 是在 PHP 5.5 之后的版本中默认开启的,但<span style="color: black;">亦</span><span style="color: black;">能够</span><span style="color: black;">经过</span>配置进行优化和<span style="color: black;">掌控</span>。<span style="color: black;"><strong style="color: blue;"><span style="color: black;">opcache<span style="color: black;">重点</span>用在哪个<span style="color: black;">地区</span>?</span></strong></span>OPcache(Opcode Cache)是 PHP 的一个内置扩展,<span style="color: black;">重点</span>用于缓存 PHP 代码的编译结果,以<span style="color: black;">加强</span> PHP 脚本的执行性能。OPcache 在以下几个方面起到了关键<span style="color: black;">功效</span>:<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;">代码缓存:</strong>PHP 是一种解释性语言,每次执行 PHP 脚本时,都需要将代码解析、编译成中间码(opcode)并执行。OPcache 缓存了已编译的中间码,避免了每次请求都需要重新编译代码,从而<span style="color: black;">明显</span><span style="color: black;">加强</span>了代码的执行速度。</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;">减少 IO 开销:</strong> 缓存代码<span style="color: black;">寓意</span>着文件<span style="color: black;">再也不</span>需要频繁地读取和解析,从而减少了文件 IO 开销,<span style="color: black;">加强</span>了整体性能。</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;">降低 CPU 开销:</strong>编译过程是一种耗费 CPU 资源的操作。OPcache 缓存避免了重复的编译过程,从而减少了 CPU 开销。</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;">减少内存<span style="color: black;">运用</span>:</strong> 缓存的中间码<span style="color: black;">一般</span>占用比完整 PHP 脚本更少的内存,<span style="color: black;">因此呢</span><span style="color: black;">能够</span>降低内存<span style="color: black;">运用</span>,<span style="color: black;">同期</span><span style="color: black;">亦</span>降低了垃圾收集的频率。</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;"><span style="color: black;">加强</span>并发能力:</strong> 缓存的代码执行速度更快,<span style="color: black;">寓意</span>着服务器<span style="color: black;">能够</span>处理<span style="color: black;">更加多</span>的并发请求,<span style="color: black;">加强</span>了 Web 应用程序的并发能力。</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;">加速框架:</strong><span style="color: black;">针对</span><span style="color: black;">运用</span>框架的应用,OPcache <span style="color: black;">能够</span>加速框架的初始化过程,<span style="color: black;">由于</span>框架的核心代码<span style="color: black;">一般</span>只需要初始化一次。</p><span style="color: black;"><strong style="color: blue;"><span style="color: black;">怎样</span><span style="color: black;">运用</span> PHP OPCache:</strong></span><span style="color: black;"><strong style="color: blue;"><span style="color: black;">检测</span> OPCache <span style="color: black;">是不是</span>已启用:</strong></span><span style="color: black;">首要</span>,您需要<span style="color: black;">保证</span>您的 PHP 安装中<span style="color: black;">已然</span>启用了 OPCache。在 php.ini 配置文件中,您<span style="color: black;">能够</span>找到以下设置来确认 OPCache <span style="color: black;">是不是</span>已启用:<span style="color: black;">zend_extension</span>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">=opcache</p><strong style="color: blue;">配置 OPCache:</strong>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">默认<span style="color: black;">状况</span>下,PHP OPCache <span style="color: black;">已然</span>配置为<span style="color: black;">供给</span><span style="color: black;">恰当</span>的性能。<span style="color: black;">然则</span>,您<span style="color: black;">能够</span><span style="color: black;">按照</span>您的<span style="color: black;">需要</span>进行<span style="color: black;">有些</span>优化。以下是<span style="color: black;">有些</span><span style="color: black;">平常</span>的配置选项:opcache.enable=1</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">opcache.memory_consumption=128</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">opcache.max_accelerated_files=10000</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">opcache.validate_timestamps=0</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">opcache.memory_consumption:用于配置 OPCache <span style="color: black;">运用</span>的内存量。</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">opcache.max_accelerated_files:指定最大缓存的文件数目。</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">opcache.validate_timestamps:指定<span style="color: black;">是不是</span>在每次请求时验证文件的时间戳。</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">重视</span>:在生产环境中,应<span style="color: black;">按照</span>服务器配置进行适当的<span style="color: black;">调节</span>。</p><strong style="color: blue;">查看 OPCache 状态:</strong>您<span style="color: black;">能够</span><span style="color: black;">运用</span> opcache_get_status() 函数来获取当前 OPCache 的状态和统计信息。这<span style="color: black;">能够</span><span style="color: black;">帮忙</span>您<span style="color: black;">监测</span> OPCache 的性能和<span style="color: black;">运用</span><span style="color: black;">状况</span>。statusE61EopcacheE95EgetE95Estatus()<span style="color: black;">p</span><span style="color: black;">r</span><span style="color: black;">i</span><span style="color: black;">n</span><span style="color: black;">t</span>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">E95Er(</p>print_r(&lt;span&nbsp;class="katex-html"&nbsp;aria-hidden="true" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;"&gt;&lt;span&nbsp;class="strut"&nbsp;style="height:1em;vertical-align:-0.25em;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;"&gt;&lt;span&nbsp;class="mord&nbsp;mathit" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;"&gt;s&lt;span&nbsp;class="mord&nbsp;mathit" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;"&gt;t&lt;span&nbsp;class="mord&nbsp;mathit" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;"&gt;a&lt;span&nbsp;class="mord&nbsp;mathit" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;"&gt;t&lt;span&nbsp;class="mord&nbsp;mathit" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;"&gt;u&lt;span&nbsp;class="mord&nbsp;mathit" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;"&gt;s&lt;span&nbsp;class="mord&nbsp;mathit"&nbsp;style="margin-right:0.05764em;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;"&gt;E&lt;span&nbsp;class="mord&nbsp;mathit"&nbsp;style="margin-right:0.05764em;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;"&gt;E&lt;span&nbsp;class="mord&nbsp;mathit" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;"&gt;o&lt;span&nbsp;class="mord&nbsp;mathit" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;"&gt;p&lt;span&nbsp;class="mord&nbsp;mathit" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;"&gt;c&lt;span&nbsp;class="mord&nbsp;mathit" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;"&gt;a&lt;span&nbsp;class="mord&nbsp;mathit" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;"&gt;c&lt;span&nbsp;class="mord&nbsp;mathit" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;"&gt;h&lt;span&nbsp;class="mord&nbsp;mathit" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;"&gt;e&lt;span&nbsp;class="mord&nbsp;mathit"&nbsp;style="margin-right:0.05764em;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;"&gt;E&lt;span&nbsp;class="mord&nbsp;mathit"&nbsp;style="margin-right:0.05764em;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;"&gt;E&lt;span&nbsp;class="mord&nbsp;mathit"&nbsp;style="margin-right:0.03588em;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;"&gt;g&lt;span&nbsp;class="mord&nbsp;mathit" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;"&gt;e&lt;span&nbsp;class="mord&nbsp;mathit" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;"&gt;t&lt;span&nbsp;class="mord&nbsp;mathit"&nbsp;style="margin-right:0.05764em;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;"&gt;E&lt;span&nbsp;class="mord&nbsp;mathit"&nbsp;style="margin-right:0.05764em;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;"&gt;E&lt;span&nbsp;class="mord&nbsp;mathit" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;"&gt;s&lt;span&nbsp;class="mord&nbsp;mathit" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;"&gt;t&lt;span&nbsp;class="mord&nbsp;mathit" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;"&gt;a&lt;span&nbsp;class="mord&nbsp;mathit" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;"&gt;t&lt;span&nbsp;class="mord&nbsp;mathit" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;"&gt;u&lt;span&nbsp;class="mord&nbsp;mathit" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;"&gt;s&lt;span&nbsp;class="mspace"&nbsp;style="margin-right:0.16666666666666666em;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;"&gt;&lt;span&nbsp;class="mord&nbsp;mathit" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;"&gt;<span style="color: black;">p</span>&lt;span&nbsp;class="mord&nbsp;mathit"&nbsp;style="margin-right:0.02778em;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;"&gt;<span style="color: black;">r</span>&lt;span&nbsp;class="mord&nbsp;mathit" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;"&gt;<span style="color: black;">i</span>&lt;span&nbsp;class="mord&nbsp;mathit" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;"&gt;<span style="color: black;">n</span>&lt;span&nbsp;class="mord&nbsp;mathit" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;"&gt;<span style="color: black;">t</span>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">EEr</p>&lt;/span&nbsp;class="mord&nbsp;mathit"&nbsp;style="margin-right:0.02778em;"&gt;&lt;/span&nbsp;class="mord&nbsp;mathit"&nbsp;style="margin-right:0.05764em;"&gt;&lt;/span&nbsp;class="mord&nbsp;mathit"&nbsp;style="margin-right:0.05764em;"&gt;&lt;/span&nbsp;class="mord&nbsp;mathit"&gt;&lt;/span&nbsp;class="mord&nbsp;mathit"&gt;&lt;/span&nbsp;class="mord&nbsp;mathit"&gt;&lt;/span&nbsp;class="mord&nbsp;mathit"&nbsp;style="margin-right:0.02778em;"&gt;&lt;/span&nbsp;class="mord&nbsp;mathit"&gt;&lt;/span&nbsp;class="mspace"&nbsp;style="margin-right:0.16666666666666666em;"&gt;&lt;/span&nbsp;class="mord&nbsp;mathit"&gt;&lt;/span&nbsp;class="mord&nbsp;mathit"&gt;&lt;/span&nbsp;class="mord&nbsp;mathit"&gt;&lt;/span&nbsp;class="mord&nbsp;mathit"&gt;&lt;/span&nbsp;class="mord&nbsp;mathit"&gt;&lt;/span&nbsp;class="mord&nbsp;mathit"&gt;&lt;/span&nbsp;class="mord&nbsp;mathit"&nbsp;style="margin-right:0.05764em;"&gt;&lt;/span&nbsp;class="mord&nbsp;mathit"&nbsp;style="margin-right:0.05764em;"&gt;&lt;/span&nbsp;class="mord&nbsp;mathit"&gt;&lt;/span&nbsp;class="mord&nbsp;mathit"&gt;&lt;/span&nbsp;class="mord&nbsp;mathit"&nbsp;style="margin-right:0.03588em;"&gt;&lt;/span&nbsp;class="mord&nbsp;mathit"&nbsp;style="margin-right:0.05764em;"&gt;&lt;/span&nbsp;class="mord&nbsp;mathit"&nbsp;style="margin-right:0.05764em;"&gt;&lt;/span&nbsp;class="mord&nbsp;mathit"&gt;&lt;/span&nbsp;class="mord&nbsp;mathit"&gt;&lt;/span&nbsp;class="mord&nbsp;mathit"&gt;&lt;/span&nbsp;class="mord&nbsp;mathit"&gt;&lt;/span&nbsp;class="mord&nbsp;mathit"&gt;&lt;/span&nbsp;class="mord&nbsp;mathit"&gt;&lt;/span&nbsp;class="mord&nbsp;mathit"&gt;&lt;/span&nbsp;class="mord&nbsp;mathit"&nbsp;style="margin-right:0.05764em;"&gt;&lt;/span&nbsp;class="mord&nbsp;mathit"&nbsp;style="margin-right:0.05764em;"&gt;&lt;/span&nbsp;class="mord&nbsp;mathit"&gt;&lt;/span&nbsp;class="mord&nbsp;mathit"&gt;&lt;/span&nbsp;class="mord&nbsp;mathit"&gt;&lt;/span&nbsp;class="mord&nbsp;mathit"&gt;&lt;/span&nbsp;class="mord&nbsp;mathit"&gt;&lt;/span&nbsp;class="mord&nbsp;mathit"&gt;&lt;/span&nbsp;class="strut"&nbsp;style="height:1em;vertical-align:-0.25em;"&gt;&lt;/span&nbsp;class="katex-html"&nbsp;aria-hidden="true"&gt;<strong style="color: blue;">清除 OPCache:</strong>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">倘若</span>您对代码进行了更改,可能需要手动清除 OPCache,以便让新代码生效。您<span style="color: black;">能够</span><span style="color: black;">运用</span> opcache_reset() 函数来清除<span style="color: black;">全部</span> OPCache 缓存。opcache_reset();</p>总之,PHP OPCache 是一个重要的性能优化工具,它<span style="color: black;">能够</span><span style="color: black;">明显</span><span style="color: black;">加强</span> PHP 脚本的执行速度,<span style="color: black;">尤其</span>是在高流量的 Web 应用中。<span style="color: black;">经过</span>适当的配置和监控,您<span style="color: black;">能够</span>最大程度地发挥 OPCache 的<span style="color: black;">优良</span>,<span style="color: black;">供给</span>更好的用户体验。<img src="https://mmbiz.qpic.cn/mmbiz_gif/X36HLl2EicOfbCTTtzwpbdicOhvibmKu9O9jGSLPicT5IVjk2U8YETibumKAAa5K55Y3mdvGOvhjfbUGdEibKx8E5BJQ/640?wx_fmt=gif&amp;wxfrom=5&amp;wx_lazy=1&amp;tp=webp" style="width: 50%; margin-bottom: 20px;"><strong style="color: blue;"><span style="color: black;">参考链接:</span></strong><span style="color: black;"><span style="color: black;">以上<span style="color: black;">便是</span>本篇分钟的<span style="color: black;">所有</span>内容,</span><span style="color: black;"><strong style="color: blue;"><span style="color: black;"><span style="color: black;">期盼</span>各位程序员们<span style="color: black;">奋斗</span><span style="color: black;">提高</span>个人技术。</span></strong></span><span style="color: black;">最后,<span style="color: black;">博主</span>温馨提示:<span style="color: black;">每日</span>阅读5分钟,<span style="color: black;">每日</span>学习一点点,<span style="color: black;">每日</span>进步一点点。</span></span>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><img src="https://mmbiz.qpic.cn/mmbiz_gif/X36HLl2EicOfSLeDjYdhheic53iaMxy6jzuQaBEXzfu12r8KsocY8g1D5GGfcUJ4nibr37JY3ZZBu1wjKiaNxEASXUA/640?wx_fmt=gif&amp;wxfrom=5&amp;wx_lazy=1&amp;tp=webp" style="width: 50%; margin-bottom: 20px;"></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><span style="color: black;"><img src="https://mmbiz.qpic.cn/mmbiz_jpg/uIqA9zdyleyDIhxfbt7DaTT5a4QibDoG9cjrINXv1wpUImSribq2abGGGYeN0j5tsgJ6yQBytrXmUFprtSOA4Ceg/640?wx_fmt=other&amp;tp=webp&amp;wxfrom=5&amp;wx_lazy=1&amp;wx_co=1" style="width: 50%; margin-bottom: 20px;">‍</span></span></p>




nykek5i 发表于 2024-10-8 20:27:04

你的努力一定会被看见,相信自己,加油。

nykek5i 发表于 2024-10-13 01:46:47

楼主的文章非常有意义,提升了我的知识水平。
页: [1]
查看完整版本: 什么是php的opcache ? 你又是怎么样去运用的呢?