Een van de meest gebruikte programmeertalen van vandaag door miljoenen gebruikers is PHP, wat handig en praktisch is voor applicatie-ontwikkeling en te vinden is in alle webhostingservers die tegenwoordig beschikbaar zijn.
Een van de voordelen van het gebruik van PHP zijn de geweldige opties om verschillende extensies in hun standaarddistributie te gebruiken; waarmee het gebruik van PHP voor de ontwikkeling van de applicaties gefaseerd wordt uitgebreid. Een van deze extensies is OPcache, die helpt bij het verbeteren van de algehele prestaties van PHP.
Het is om deze reden dat Solvetic vandaag en door middel van deze studie zal uitleggen hoe OPcache in CentOS 7 kan worden geïnstalleerd en geconfigureerd om nog productiever te zijn met PHP.
Wat is OPcache?OPcache is ontwikkeld om de prestaties van PHP te verbeteren door de bytecode van een voorgecompileerd script in het gedeelde geheugen op te slaan, waardoor de PHP-taal zelf de scripts in elk verzoek niet hoeft te laden en analyseren, wat uiteindelijk wordt vertaald in betere prestaties .
OPcache is opgenomen in PHP-versie 5.5.0 en hoger en is beschikbaar via PECL voor PHP-versies 5.2, 5.3 en 5.4.
Er is geen externe bibliotheek nodig om deze PHP-extensie te compileren, dus deze is beschikbaar voor alle distributies waar PHP probleemloos draait.
1. Hoe OPcache op CentOS 7 Linux te installeren
Stap 1
Eerst gaan we de EPEL-repository installeren en vervolgens de REMI-repository met behulp van de volgende opdrachten:
yum install epel-release yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpmWe voeren de letter s in om de download en installatie te bevestigen.
VERGROTEN
Stap 2
Later moeten we de bijbehorende GPG-sleutels accepteren:
VERGROTEN
Stap 3
De volgende stap is het installeren van yum-utils, een verzameling hulpprogramma's om de standaardfuncties van yum uit te breiden, dankzij hen zal het mogelijk zijn om yum-repositories te beheren, evenals pakketten zonder handmatige configuratie en nog veel meer taken, voor hun installatie voeren we het volgende uit:
yum installeer yum-utils
VERGROTEN
Stap 4
Later moeten we de download en installatie van de pakketten bevestigen:
VERGROTEN
Stap 5
Nu, wanneer yum-utils is geïnstalleerd, moeten we yum-config-manager gebruiken om de Remi-repository in te schakelen als de standaardrepository om verschillende versies en modules van PHP te installeren, we voeren het volgende uit op basis van de gewenste versie:
Voor PHP 5.5
yum-config-manager --remi-php55 inschakelen
Voor PHP 5.6
yum-config-manager --remi-php56 inschakelen
Voor PHP 7.0
yum-config-manager --remi-php70 inschakelen
Voor PHP 7.1
yum-config-manager --remi-php71 inschakelen
Voor PHP 7.2
yum-config-manager --remi-php72 inschakelen
VERGROTEN
Stap 6
Ten slotte gaan we verder met het installeren van de OPcache-extensie en verifiëren we de PHP-versie om te bevestigen dat we de OPcache-extensie hebben geïnstalleerd, hiervoor gebruiken we de volgende opdrachten. We accepteren de download en installatie van OPcache.
yum installeer php-opcache
VERGROTEN
Stap 7
We verifiëren de versie van PHP en dat deze OPcache heeft. Let op de onderste regel met Zend OPcache v7.0.5, dit geeft aan dat Opcache correct is geïnstalleerd op CentOS 7.
VERGROTEN
2. Opcache-extensie configureren op CentOS 7 Linux
Stap 1
De laatste stap is om OPcache te configureren door het bestand /etc/php.d/10-opcache.ini of /etc/php.d/opcache.ini (al naargelang het geval) te bewerken met onze gewenste editor:
nano /etc/php.d/opcache.iniDaar kunnen we de volgende waarden toepassen om betere PHP-prestaties te verkrijgen:
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
VERGROTEN
We slaan de wijzigingen op met behulp van de volgende sleutels:
Ctrl + O
We verlaten de editor met de volgende toetsen:
Ctrl + X
Stap 2
We gaan verder met het herstarten van de webserver door een van de volgende regels uit te voeren:
systemctl herstart nginx OF systemctl herstart httpdIn het bestand opcache.ini zijn er de volgende variabelen met hun respectievelijke gebruik:
Met deze optie wordt de opcode-cache ingeschakeld. Indien uitgeschakeld, wordt de code niet geoptimaliseerd of in de cache opgeslagen
opcache.boolean inschakelen
Deze optie schakelt opcode-cache in voor de CLI-versie van PHP
opcache.enable_cli boolean
Beheert de grootte van de gedeelde geheugenopslag die wordt gebruikt door OPcache, in megabytes
opcache.memory_consumption geheel getal
Zijn functie is om de hoeveelheid geheugen te beheren die wordt gebruikt om strings op te slaan, in megabytes.
opcache.interned_strings_buffer integer
Het is jouw taak om het maximale aantal sleutels in de OPcache-hashtabel te beheren, de minimale waarde is 200 en de maximale waarde is 100000 in PHP <5.5.6 en 1000000 in latere versies.
opcache.max_accelerated_files geheel getal
Verwijst naar het maximale percentage verspild geheugen dat is toegestaan voordat een herstart op de extensie is gepland.
opcache.max_wasted_percentage geheel getal
Door het in te schakelen, kan OPcache de huidige werkdirectory aan de scriptsleutel toevoegen, waardoor mogelijke botsingen tussen bestanden met dezelfde basisnaam worden geëlimineerd.
opcache.use_cwd boolean
Als het is ingeschakeld, zal OPcache elke opcache.revalidate_freq seconden naar bijgewerkte scripts zoeken.
opcache.validate_timestamps boolean
Meet de frequentie van het controleren van Unix-tijdstempels van op update gebaseerde scripts, in seconden opcache.revalidate_path boolean: indien uitgeschakeld, zullen bestaande cachebestanden die hetzelfde include_path gebruiken opnieuw worden gebruikt door OPcache.
opcache.revalidate_freq integer
Indien uitgeschakeld, worden alle documentatie-opmerkingen uit de opcode-cache verwijderd om de grootte van de geoptimaliseerde code te verkleinen.
opcache.save_comments boolean
Met zijn activering wordt een snelle uitschakelvolgorde gemaakt die op zo'n manier wordt gebruikt dat niet elk toegewezen blok wordt vrijgegeven, maar afhankelijk is van de Zend Engine-geheugenbeheerder om het afsluiten van PHP te optimaliseren.
opcache.fast_shutdown boolean
Het is een bitmasker dat bepaalt welke optimalisatierechten worden uitgevoerd door OPcache
opcache.optimization_level integer
Het is een hack die alleen moet worden ingeschakeld om fouten te voorkomen "Kan klasse niet opnieuw declareren
opcache.dups_fix boolean
Geeft de maximale bestandsgrootte aan die in de cache wordt opgeslagen, in bytes
opcache.max_file_size geheel getal
Verwijst naar de hoeveelheid tijd om te wachten op de start van een geplande herstart als de cache niet actief is, in seconden
opcache.force_restart_timeout geheel getal
De OPcache-foutlogboeken worden daar opgeslagen
opcache.error_log string
Het is het hoofdgeheugenmodel dat OPcache zal gebruiken
opcache.preferred_memory_model string
Jouw taak is om het gedeelde geheugen te beschermen tegen onverwachte schrijfacties tijdens het uitvoeren van scripts
opcache.protect_memory boolean
Zijn functie is om OPcache API-functies alleen aan te roepen vanuit PHP-scripts waarvan het pad begint met de opgegeven tekenreeks
opcache.restrict_api string
De algemene functies van OPcache zijn:
Het zorgt voor het compileren en cachen van een PHP-script zonder het uit te voeren
opcache_compile_file
Krijgt configuratie-informatie over de cache
opcache_get_configuration
Geeft toegang tot statusinformatie over de cache
opcache_get_status
Een in de cache opgeslagen script ongeldig maken
opcache_invalidate
Geeft aan of een script in de cache is opgeslagen in OPcache
opcache_is_script_cached
Hiermee kunt u de inhoud van de opcode-cache resetten
opcache_reset
Zoals we kunnen zien, zal deze PHP-extensie nuttig zijn om de prestaties van deze taal aanzienlijk te verbeteren en dus op een veel uitgebreidere manier te werken.