Installa e configura OPcache per le prestazioni PHP su CentOS 7

Uno dei linguaggi di programmazione più utilizzati oggi da milioni di utenti è PHP, utile e pratico per lo sviluppo di applicazioni e presente in tutti i server di web hosting oggi disponibili.

Uno dei vantaggi dell'utilizzo di PHP sono le sue ottime opzioni per utilizzare varie estensioni nella loro distribuzione predefinita; con cui si ampliano in maniera graduale gli utilizzi di PHP per lo sviluppo delle applicazioni. Una di queste estensioni è OPcache, che aiuta a migliorare le prestazioni complessive di PHP.

È per questo motivo che oggi e attraverso questo studio, Solvetic spiegherà come installare e configurare OPcache in CentOS 7 per essere ancora più produttivi con PHP.

Cos'è OPcache?OPcache è stato sviluppato cercando di migliorare le prestazioni di PHP memorizzando il byte code di uno script precompilato nella memoria condivisa, eliminando così la necessità per il linguaggio PHP stesso di caricare e analizzare gli script in ogni richiesta, che si traduce infine in prestazioni migliori .

OPcache è incluso nella versione PHP 5.5.0 e successive ed è disponibile tramite PECL per le versioni PHP 5.2, 5.3 e 5.4.

Non è necessaria alcuna libreria esterna per compilare questa estensione PHP, quindi è disponibile per tutte le distribuzioni in cui PHP viene eseguito senza problemi.

1. Come installare OPcache su CentOS 7 Linux

Passo 1
Per prima cosa, installeremo il repository EPEL e poi il repository REMI utilizzando i seguenti comandi:

 yum install epel-release yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Inseriamo la lettera s per confermare il download e l'installazione.

INGRANDIRE

Passo 2
Successivamente dobbiamo accettare le chiavi GPG corrispondenti:

INGRANDIRE

Passaggio 3
Il prossimo passo è installare yum-utils, che è una raccolta di utilità per estendere le funzioni predefinite di yum, grazie a loro sarà possibile gestire i repository yum, così come i pacchetti senza configurazione manuale e molte altre attività, per la loro installazione eseguiamo quanto segue:

 yum install yum-utils

INGRANDIRE

Passaggio 4
Successivamente dobbiamo confermare il download e l'installazione dei pacchetti:

INGRANDIRE

Passaggio 5
Ora, quando yum-utils è stato installato, dobbiamo usare yum-config-manager per abilitare il repository Remi come repository predefinito per installare diverse versioni e moduli di PHP, eseguiamo quanto segue in base alla versione desiderata:

Per PHP 5.5

 yum-config-manager --enable remi-php55

Per PHP 5.6

 yum-config-manager --enable remi-php56

Per PHP 7.0

 yum-config-manager --enable remi-php70

Per PHP 7.1

 yum-config-manager --enable remi-php71

Per PHP 7.2

 yum-config-manager --enable remi-php72 

INGRANDIRE

Passaggio 6
Infine, procediamo con l'installazione dell'estensione OPcache e verifichiamo la versione PHP per confermare che abbiamo installato l'estensione OPcache, per questo utilizziamo i seguenti comandi. Accettiamo il download e l'installazione di OPcache.

 yum install php-opcache

INGRANDIRE

Passaggio 7
Verifichiamo la versione di PHP e che ha OPcache. Nota la linea di fondo con Zend OPcache v7.0.5, questo indica che Opcache è installato correttamente su CentOS 7.

INGRANDIRE

2. Come configurare l'estensione Opcache su CentOS 7 Linux


Passo 1
L'ultimo passaggio consiste nel configurare OPcache modificando il file /etc/php.d/10-opcache.ini o /etc/php.d/opcache.ini (a seconda dei casi) con il nostro editor desiderato:
 nano /etc/php.d/opcache.ini
Lì possiamo applicare i seguenti valori per ottenere migliori prestazioni PHP:
 opcache.enable_cli = 1 opcache.memory_consumption = 128 opcache.interned_strings_buffer = 8 opcache.max_accelerated_files = 4000 opcache.revalidate_freq = 60 opcache.fast_shutdown = 1

INGRANDIRE

Salviamo le modifiche utilizzando i seguenti tasti:

Ctrl + O

Usciamo dall'editor utilizzando i seguenti tasti:

Ctrl + X

Passo 2
Procediamo al riavvio del server web eseguendo una delle seguenti righe:

 systemctl riavvia nginx OPPURE systemctl riavvia httpd
Nel file opcache.ini sono presenti le seguenti variabili con il rispettivo utilizzo:

Questa opzione abilita la cache del codice operativo. Se disabilitato, il codice non è ottimizzato o memorizzato nella cache

 opcache.enable boolean

Questa opzione abilita la cache del codice operativo per la versione CLI di PHP

 opcache.enable_cli booleano

Gestisce la dimensione dell'archivio di memoria condivisa utilizzato da OPcache, in megabyte

 opcache.memory_consumption intero

La sua funzione è quella di gestire la quantità di memoria utilizzata per memorizzare le stringhe, in Megabyte.

 opcache.interned_strings_buffer intero

Il tuo compito è gestire il numero massimo di chiavi nella tabella hash di OPcache, il suo valore minimo è 200 e il suo valore massimo è 100000 in PHP <5.5.6 e 1000000 nelle versioni successive.

 opcache.max_accelerated_files intero

Si riferisce alla percentuale massima di memoria sprecata consentita prima che venga pianificato un riavvio sull'estensione.

 opcache.max_wasted_percentage intero

Abilitarlo consente a OPcache di aggiungere la directory di lavoro corrente alla chiave di script, eliminando così possibili collisioni tra file con lo stesso nome di base.

 opcache.use_cwd booleano 

Quando è abilitato, OPcache interrogherà gli script aggiornati ogni opcache.revalidate_freq secondi.

 opcache.validate_timestamps booleano

Misura la frequenza di controllo dei timestamp Unix degli script basati sugli aggiornamenti, in secondi opcache.revalidate_path booleano: quando disabilitato, i file memorizzati nella cache esistenti che utilizzano lo stesso include_path verranno riutilizzati da OPcache.

 opcache.revalidate_freq intero

Se disabilitato, tutti i commenti della documentazione verranno rimossi dalla cache dell'opcode per ridurre la dimensione del codice ottimizzato.

 opcache.save_comments booleano

Con la sua abilitazione viene creata una sequenza di spegnimento rapido che viene utilizzata in modo tale da non rilasciare ogni blocco allocato, ma dipende dal gestore della memoria di Zend Engine per ottimizzare lo spegnimento di PHP.

 opcache.fast_shutdown booleano

È una maschera di bit che controlla quali permessi di ottimizzazione vengono eseguiti da OPcache

 opcache.optimization_level intero

È un hack che dovrebbe essere abilitato per funzionare solo al fine di evitare errori "Impossibile dichiarare nuovamente la classe

 opcache.dups_fix booleano

Indica la dimensione massima del file che verrà memorizzato nella cache, in byte

 opcache.max_file_size intero

Si riferisce alla quantità di tempo di attesa per l'inizio di un riavvio pianificato se la cache non è attiva, in secondi

 opcache.force_restart_timeout intero

I log degli errori di OPcache sono memorizzati lì

 stringa opcache.error_log

È il modello di memoria principale che OPcache utilizzerà

 opcache.preferred_memory_model stringa

Il tuo compito è proteggere la memoria condivisa da scritture impreviste durante l'esecuzione di script

 opcache.protect_memory booleano

La sua funzione è chiamare le funzioni API di OPcache solo da script PHP il cui percorso inizia con la stringa specificata

 opcache.restrict_api stringa

Le funzioni generali di OPcache sono

Si occupa di compilare e memorizzare nella cache uno script PHP senza eseguirlo

 opcache_compile_file

Ottiene informazioni di configurazione sulla cache

 opcache_get_configuration

Consente l'accesso alle informazioni sullo stato della cache

 opcache_get_status

Invalidare uno script memorizzato nella cache

 opcache_invalidate

Indica se uno script è memorizzato nella cache in OPcache

 opcache_is_script_cached

Consente di ripristinare il contenuto della cache dell'opcode

 opcache_reset

Come possiamo vedere, questa estensione PHP sarà utile per migliorare notevolmente le prestazioni di questo linguaggio e quindi funzionare in modo molto più completo.

wave wave wave wave wave