2015-12-14 22 views
6

Ho impostato il mio sito Web su un nuovo hosting (virtual cloud), tuttavia sto guardando l'opcache e il scripts non viene utilizzato per dire che a minutes or so vengono rimossi dalla cache.Opcache cancella troppo rapidamente

Quindi c'è un modo per fermarlo? o è un comportamento normale?

Grazie mille.

+0

quali sono le impostazioni opcache nel php.ini? – Clay

+0

Qual è il valore di " "opcache.max_accelerated_files"? Cosa succede se si imposta "opcache.validate_timestamps = 0"? – Clay

+0

opcache.max_accelerated_files = 2000 –

risposta

0

Suoni come se fosse necessario definire validate_timestamps=0 in php.ini. Attenzione però: se carichi qualsiasi modifica ai tuoi file PHP, dovrai riavviare Apache (se usi mod_php5) o PHP5-FPM, oppure cancellare manualmente opcache.

Per i dettagli su come cancellare l'opcache manualmente si deve fondamentalmente creare un file PHP con opcache_reset() ed eseguirlo, ma questo deve essere nella stessa SAPI degli altri file - cioè gestita da PHP5-FPM se questo è cosa serve il resto dei tuoi file. http://ihaveabackup.net/2013/10/19/invalidating-the-opcache-in-php-5-5/

2

Esiste davvero una configurazione. opcache.revalidate_freq=2, il valore predefinito è 2 secondi, opcache proverà a controllare la data e l'ora ogni 2 secondi e se i file vengono modificati, verrà riconvalidato. È possibile modificare il valore in base alle proprie esigenze oppure è possibile disattivare il controllo data/ora utilizzando questo conf opcache.validate_timestamps=0, ma in questo caso ogni volta che si distribuisce il codice in produzione è necessario riavviare php-fpm (se si utilizza php-fpm) e server web

opcache.revalidate_freq=2 o qualsiasi valore intero

opcache.validate_timestamps=1 o opcache.validate_timestamps=0

+0

usando 'opcache.validate_timestamps' a' 0', l'opzione 'opcache.revalidate_freq' sarà ignorata. –