【问题标题】:Opcache revalidate freq config in php.iniOpcache 重新验证 php.ini 中的频率配置
【发布时间】:2014-11-03 00:36:35
【问题描述】:

如果我在 php.ini 文件中设置此配置:

opcache.revalidate_freq = 0

还是会比禁用 Opcache 系统更好吗?

因为在我看来,它会检查每个请求的文件更新,所以它就像 Opcache 被禁用一样。

【问题讨论】:

    标签: php zend-framework config opcache


    【解决方案1】:

    它将检查每个请求的时间戳,如果时间戳未更改,它将从缓存中提供文件,因此您仍然可以从 opcache 中受益。

    【讨论】:

      【解决方案2】:

      不,这会带来开销,因为每次访问、重新编译和缓存文件时都会检查文件,然后再提供服务。

      如果 Opcache 被禁用,文件只会被编译和提供。

      【讨论】:

        【解决方案3】:

        最好用

         opcache.revalidate_freq = 1
        

        http://php.net/manual/en/opcache.configuration.php#ini.opcache.validate-timestamps

        Opache 将始终验证时间戳,但如果它没有更改,它可以使用缓存的操作码。

        【讨论】:

        • 你确定吗?我认为当值为0 时会发生这种情况。对于1 的值,它不会检查每个请求的时间戳,它只会在1 秒过去后重新检查。因此,如果请求在启动缓存的请求后 500 毫秒内出现,则不会检查第二个请求的时间戳。
        【解决方案4】:

        据我所知,这是 opcache 多久会检查 php 文件是否已更改。我用了 30 秒:

        opcache.revalidate_freq=30
        

        您所指的可能是该功能的开/关

        opcache.validate_timestamps=1
        

        【讨论】:

          猜你喜欢
          • 2015-03-16
          • 1970-01-01
          • 2021-09-26
          • 2015-10-25
          • 2018-09-20
          • 2015-12-20
          • 2021-03-09
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多