代码之家  ›  专栏  ›  技术社区  ›  Valor_ user3379466

opcache_是否通过cli重置也会重置apache opcache

  •  0
  • Valor_ user3379466  · 技术社区  · 8 年前

    我必须实现通过终端重置opcache的功能。

    这是我当前的配置 /etc/php/7.1/apache2/php。ini公司

    [opcache]
    opcache.enable = 1
    opcache.enable_cli = 1
    opcache.memory_consumption = 256
    opcache.interned_strings_buffer = 16
    opcache.max_accelerated_files = 12850
    opcache.validate_timestamps = 1
    opcache.revalidate_freq = 0
    opcache.fast_shutdown = 1
    

    /etc/php/7.1/cli/php。ini公司

    [操作缓存]
    opcache。启用=1
    opcache。enable_cli=1
    opcache。内存消耗=256
    opcache。最大加速文件数=12850
    opcache。validate\u时间戳=1
    opcache。重新验证频率=0
    opcache。fast_shutdown=1
    

    我的问题是,当我运行一些shell脚本时,它将执行类似于这个php脚本的东西 php -r "opcache_get_status();" 这会重置一些“全局”opcache还是只重置cli opcache,您必须为apache实现其他功能。

    如果您需要任何其他信息,请让我知道,并将提供。非常感谢。

    1 回复  |  直到 8 年前
        1
  •  0
  •   Valor_ user3379466    8 年前

    Op_缓存(对于apache)需要通过url或curl请求重置。如果你跑的话就不一样了 php -r "opcache_reset();" 通过cli,这意味着不会重置Apache上的op_缓存。我的解决方案是创建一个简单的虚拟主机,该主机正在执行小的php脚本来重置op_缓存。

    我的虚拟主机

    <VirtualHost 127.0.0.1:80>
        DocumentRoot /var/www/html/opcache
        ServerName localhost
        DirectoryIndex index.php
        <Directory /var/www/html/opcache>
            Options All
            Order Deny,Allow
            Deny from all
            Allow from 127.0.0.1 ::1
            Allow from localhost
        </Directory>
    </VirtualHost>
    

    我的php脚本

    <?php
        opcache_reset();
    

    然后我通过终端用curl执行脚本

    curl -o -I -L -s -w "Response code %{http_code}\n" http://127.0.0.1/opcache/index.php
    
    推荐文章