• PHP 开启 Opcache 功能提升程序处理效率


    简介

    Opcache 的前生是 Optimizer+ ,它是 Zend 开发的 PHP 优化加速组件。Optimizer+ 将 PHP 代码预编译生成的脚本文件 Opcode 缓存在共享内存中供以后反复使用,从而避免了从磁盘读取代码再次编译的时间消耗。同时,它还应用了一些代码优化模式,使得代码执行更快。从而加速 PHP 的执行。

    正常的执行流程如下:

    img

    开启 Opcache 后的执行流程如下:

    img

    Yum 安装

    php -v
    yum list *opcache*
    yum -y install rh-php71-php-opcache.x86_64
    
    kill -USR2 cat `/usr/local/php/var/run/php-fpm.pid`
    nginx -s reload
    

    配置

    zend_extension=opcache.so
    [opcache]
    ;开启opcache功能
    opcache.enable=1  
    
    ;CLI环境下,开启opcache功能
    opcache.enable_cli=1
    
    ;OPcache共享内存的大小,单位MB
    opcache.memory_consumption=128
    
    ;字符串在进程间驻留科使用的内存大小,单位MB
    opcache.interned_strings_buffer=8
    
    ;内存中可以缓存的文件量。200-1000000之间
    ;可以使用“find . -type f -print | grep php | wc -l”统计文件数
    opcache.max_accelerated_files=4000
    
    ;缓存的过期时间,单位秒
    opcache.revalidate_freq=60
    
    ;开启快速响应机制来调用代码中的析构器,PHP 7.2.0 开始移除
    opcache.fast_shutdown=1
    
    ;开启文件更新检查,到达 revalidate_freq 时间之后会检查文件变更并更新缓存,设为0则永不检查
    opcache.validate_timestamps=1
    
    ;开启缓存二进制导出文件到外部文件,位置为传入的值
    opcache.file_cache=/tmp
    

    查看是否安装成功

    php -m
    或
    <?php phpinfo(); ?>
    

    常用函数

    // 重置所有的opcache缓存。FPM模式下生成的缓存,在CLI下不能RESET。
    var_dump(opcache_reset());  //bool(true)
    

    参考:

    https://www.php.net/manual/zh/opcache.configuration.php

    https://www.zybuluo.com/phper/note/1016714

  • 相关阅读:
    java 动态代理
    android中几个很有用的的api
    android 静态和动态设置 Receiver的 android:enabled值
    一个文件查看你选择 Run as Android applications 都干了啥
    ViewStub 的使用
    Linux 常用命令速查
    android自定义View&&简单布局&&回调方法
    西厢记 随笔
    git 命令使用速查手册( 个人版)
    Arraylist源码分析:
  • 原文地址:https://www.cnblogs.com/danhuang/p/12713802.html
Copyright © 2020-2023  润新知