Join the community today
Become a Member

Disable nginx and php caching

Discussion in 'Nginx, PHP-FPM & MariaDB MySQL' started by pamamolf, Sep 28, 2016.

  1. eva2000

    eva2000 Administrator Staff Member

    58,905
    12,490
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +19,122
    Local Time:
    4:53 AM
    Nginx 1.31.x
    MariaDB 10.x/11.4+/12.3+
    what are you trying to do ??? for development work without caching ? changes to what css, js or php code ?

    for php code, all you need to make php changes show up instantly is either do a php-fpm restart or set for Zend Opcache related cache, the revalidate frequency to something lower than 180 seconds
    To customise Zend Opcache settings see the instructions to create your own .ini settings file to retain the changes at https://centminmod.com/phpfpm.html#customphpini


    Example order of php .ini files applied via php --ini command
    Code (Text):
    php --ini
    Configuration File (php.ini) Path: /usr/local/lib
    Loaded Configuration File:         /usr/local/lib/php.ini
    Scan for additional .ini files in: /etc/centminmod/php.d
    Additional .ini files parsed:      /etc/centminmod/php.d/a_customphp.ini,
    /etc/centminmod/php.d/curlcainfo.ini,
    /etc/centminmod/php.d/geoip.ini,
    /etc/centminmod/php.d/igbinary.ini,
    /etc/centminmod/php.d/imagick.ini,
    /etc/centminmod/php.d/mailparse.ini,
    /etc/centminmod/php.d/memcache.ini,
    /etc/centminmod/php.d/memcached.ini,
    /etc/centminmod/php.d/redis.ini,
    /etc/centminmod/php.d/zendopcache.ini

    If i want to override opcache.revalidate_freq 180 seconds default, I'd create a .ini file after /etc/centminmod/php.d/zendopcache.ini alphabetically i.e. /etc/centminmod/php.d/zzendopcache.ini

    So ordered after zendopcache.ini
    Code (Text):
    php --ini
    Configuration File (php.ini) Path: /usr/local/lib
    Loaded Configuration File:         /usr/local/lib/php.ini
    Scan for additional .ini files in: /etc/centminmod/php.d
    Additional .ini files parsed:      /etc/centminmod/php.d/a_customphp.ini,
    /etc/centminmod/php.d/curlcainfo.ini,
    /etc/centminmod/php.d/geoip.ini,
    /etc/centminmod/php.d/igbinary.ini,
    /etc/centminmod/php.d/imagick.ini,
    /etc/centminmod/php.d/mailparse.ini,
    /etc/centminmod/php.d/memcache.ini,
    /etc/centminmod/php.d/memcached.ini,
    /etc/centminmod/php.d/redis.ini,
    /etc/centminmod/php.d/zendopcache.ini,
    /etc/centminmod/php.d/zzendopcache.ini


    In /etc/centminmod/php.d/zzendopcache.ini add value say 10 seconds
    Code (Text):
    opcache.revalidate_freq = 10


    Note though reducing revalidation frequency lowers performance of caching all the time 24/7. Best way is just to restart php-fpm and nginx after file updates which are done manually via command shortcut
    Code (Text):
    nprestart

    After restart recheck value is now at 10 seconds
    Code (Text):
    php --ri 'Zend OPcache'
    
    Zend OPcache
    
    Opcode Caching => Disabled
    Optimization => Disabled
    SHM Cache => Enabled
    File Cache => Disabled
    Startup Failed => Opcode Caching is disabled for CLI
    
    Directive => Local Value => Master Value
    opcache.enable => On => On
    opcache.use_cwd => On => On
    opcache.validate_timestamps => On => On
    opcache.inherited_hack => On => On
    opcache.dups_fix => Off => Off
    opcache.revalidate_path => Off => Off
    opcache.log_verbosity_level => 1 => 1
    opcache.memory_consumption => 64 => 64
    opcache.interned_strings_buffer => 8 => 8
    opcache.max_accelerated_files => 8000 => 8000
    opcache.max_wasted_percentage => 5 => 5
    opcache.consistency_checks => 0 => 0
    opcache.force_restart_timeout => 180 => 180
    opcache.revalidate_freq => 10 => 10
    opcache.file_update_protection => 2 => 2
    opcache.preferred_memory_model => no value => no value
    opcache.blacklist_filename => no value => no value
    opcache.max_file_size => 0 => 0
    opcache.protect_memory => 0 => 0
    opcache.save_comments => 1 => 1
    opcache.fast_shutdown => 1 => 1
    opcache.optimization_level => 0x7FFFBFFF => 0x7FFFBFFF
    opcache.enable_file_override => On => On
    opcache.enable_cli => Off => Off
    opcache.error_log => no value => no value
    opcache.restrict_api => no value => no value
    opcache.lockfile_path => /tmp => /tmp
    opcache.file_cache => no value => no value
    opcache.file_cache_only => 0 => 0
    opcache.file_cache_consistency_checks => 1 => 1
    opcache.huge_code_pages => Off => Off

    Any php related setting can override and customised this way as well :)
     
  2. Jon Snow

    Jon Snow Active Member

    917
    188
    43
    Jun 30, 2017
    Ratings:
    +293
    Local Time:
    3:53 PM
    Nginx 1.13.9
    MariaDB 10.1.31
    Yup! I want to completely disable all caching from Centminmod. Not just restart or lower times.
     
  3. eva2000

    eva2000 Administrator Staff Member

    58,905
    12,490
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +19,122
    Local Time:
    4:53 AM
    Nginx 1.31.x
    MariaDB 10.x/11.4+/12.3+
    then just comment out staticfiles.conf include file and create /etc/centminmod/php.d/zzendopcache.ini file to override /etc/centminmod/php.d/zendopcache.ini and in /etc/centminmod/php.d/zzendopcache.ini set
    Code (Text):
    opcache.enable=0

    which will disable PHP Zend Opcache and you can keep Zend Opcache installed but disable
     
  4. eva2000

    eva2000 Administrator Staff Member

    58,905
    12,490
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +19,122
    Local Time:
    4:53 AM
    Nginx 1.31.x
    MariaDB 10.x/11.4+/12.3+
    then just comment out staticfiles.conf include file and create /etc/centminmod/php.d/zzendopcache.ini file to override /etc/centminmod/php.d/zendopcache.ini and in /etc/centminmod/php.d/zzendopcache.ini set
    Code (Text):
    opcache.enable=0

    which will disable PHP Zend Opcache and you can keep Zend Opcache installed but disable
     
  5. Jon Snow

    Jon Snow Active Member

    917
    188
    43
    Jun 30, 2017
    Ratings:
    +293
    Local Time:
    3:53 PM
    Nginx 1.13.9
    MariaDB 10.1.31
    I did this and restarted nginx but it's still working? When I try to update the CSS through the admin panel, it's cached. That's why I'm wondering if I'm doing anything wrong.

    I saw two other static files (longer names with "pre"). I also commented out those.
    Okay but I've already rebuilt PHP by setting Zend Opcache to NO. Was that enough or should I rebuild it and follow your instructions?
     
  6. eva2000

    eva2000 Administrator Staff Member

    58,905
    12,490
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +19,122
    Local Time:
    4:53 AM
    Nginx 1.31.x
    MariaDB 10.x/11.4+/12.3+
    keep Zend Opcache installed via centmin.sh menu option 5 and just disable it via .ini settings override

    If it's related to troubleshooting wp plugins, see Wordpress - Wordpress 403 Permission Denied Errors centmin.sh menu option 22 wordpress has whitelist restrictions to plugins you need to whitelist as the page builder probably being blocked
     
  7. Jon Snow

    Jon Snow Active Member

    917
    188
    43
    Jun 30, 2017
    Ratings:
    +293
    Local Time:
    3:53 PM
    Nginx 1.13.9
    MariaDB 10.1.31
    This isn't a WP install from menu option 22. I uploaded the files, imported the database and added the two config files (wpsecure and nocache) to the vhost config then restarted nginx.
     
  8. eva2000

    eva2000 Administrator Staff Member

    58,905
    12,490
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +19,122
    Local Time:
    4:53 AM
    Nginx 1.31.x
    MariaDB 10.x/11.4+/12.3+
    probably best to start a thread in Blogs & CMS usage it could be related to autoprotect tool too blocking your page builder