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.rpmInseriamo 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.iniLì 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 httpdNel 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.