Zum Inhalt springen
BirdAPI powered by SKYLITE.DESIGN
Kontakt
Zurück zum Blog

Beschleunigen Sie Ihre Laravel-App mit OPCache: Schritt-für-Schritt-Tutorial

Meist gelesen

Fortgeschritten

  • Laravel 12
  • PHP 8.4

Willkommen zu diesem umfassenden Tutorial, in dem ich euch zeige, wie ihr eure Laravel-Anwendung mit OPCache beschleunigen könnt. OPCache ist eine leistungsstar...

PDF / Drucken
0 Bewertungen
2.454 0 Kommentare

Schritt 1: Überprüfen, ob OPCache installiert ist

Zunächst müssen wir sicherstellen, dass OPCache auf eurem Server installiert ist. Erstellen Sie eine PHP-Info-Seite, um die aktuellen PHP-Einstellungen und -Erweiterungen zu überprüfen:
php
<?php phpinfo(); ?>
Speichert die Datei als info.php und ladet sie in das Stammverzeichnis eurer Webseite hoch. Ruft die Seite im Browser auf (http://eure-domain.de/info.php).

Info

Sucht auf der PHP-Info-Seite nach einem Abschnitt namens "Zend OPcache". Wenn ihr diesen Abschnitt findet, ist OPCache bereits installiert.

Schritt 2: OPCache installieren (falls nicht vorhanden)

Falls OPCache nicht installiert ist, könnt ihr es je nach Betriebssystem wie folgt installieren:

Für CentOS/RHEL:

php
sudo apt-get install php-opcache
php
sudo yum install php-opcache

Info

Für Windows:
Stellt sicher, dass die php_opcache.dll in der php.ini-Datei aktiviert ist.

Schritt 3: OPCache aktivieren und konfigurieren

Öffnet die PHP-Konfigurationsdatei (php.ini). Diese Datei befindet sich je nach Installation an unterschiedlichen Orten (z.B. /etc/php/7.4/apache2/php.ini für PHP 7.4 auf Apache). Fügt die folgenden Zeilen hinzu oder passt sie an, um OPCache zu aktivieren und optimal zu konfigurieren:
php
zend_extension=opcache.so
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.revalidate_freq=0
opcache.validate_timestamps=1

Schritt 4: Webserver neu starten

Nachdem ihr die php.ini-Datei bearbeitet habt, müsst ihr den Webserver neu starten, damit die Änderungen wirksam werden.

Für Nginx:

php
sudo systemctl restart apache2
php
sudo systemctl restart nginx

Schritt 5: Laravel konfigurieren

n den meisten Fällen müsst ihr keine spezifischen Anpassungen in eurer Laravel-Konfiguration vornehmen. Stellt jedoch sicher, dass der Cache-Treiber richtig konfiguriert ist. Öffnet die .env-Datei und überprüft, ob CACHE_DRIVER auf file oder redis gesetzt ist:
php
CACHE_DRIVER=file

Schritt 6: Monitoring und Optimierung

Es ist wichtig, den Status von OPCache zu überwachen, um sicherzustellen, dass alles reibungslos läuft. Dafür könnt ihr Tools wie opcache-gui verwenden.
php
git clone https://github.com/amnuts/opcache-gui.git
Kopiert den Inhalt des opcache-gui-Verzeichnisses in ein öffentlich zugängliches Verzeichnis eures Webservers (z.B. /var/www/html/opcache-gui).
Ruft die opcache-gui-Seite im Browser auf (http://eure-domain.de/opcache-gui), um den Status und die Statistiken von OPCache zu überwachen.

Schritt 7: Cache invalidieren nach Code-Änderungen

Nach Änderungen am Code müsst ihr sicherstellen, dass OPCache den neuen Code lädt. Dies könnt ihr erreichen, indem ihr den OPCache-Cache manuell leert: Fügt folgendes Skript in eine PHP-Datei ein (z.B. reset_opcache.php):
php
<?php
opcache_reset();
echo "OPCache wurde zurückgesetzt.";
?>
php
http://eure-domain.de/reset_opcache.php

Schritt 8: Tipps und Tricks für die optimale Nutzung von OPCache

Speicherverbrauch optimieren: Passt die opcache.memory_consumption-Einstellung in der php.ini an, um den Speicherverbrauch optimal zu steuern. Ein Wert von 128MB ist ein guter Ausgangspunkt, kann aber je nach Anwendung angepasst werden.
Konstante Überprüfung: Stellt sicher, dass opcache.revalidate_freq auf 0 gesetzt ist, um sicherzustellen, dass OPCache bei jedem Request überprüft, ob die Dateien aktualisiert wurden. Dies kann nützlich sein während der Entwicklung, sollte aber in der Produktion angepasst werden.
Mit OPCache könnt ihr die Leistung eurer Laravel-Anwendung drastisch verbessern. Die vorkompilierten Skripte im Arbeitsspeicher führen zu schnelleren Ladezeiten und einer geringeren Serverlast, was eure Anwendung insgesamt effizienter und skalierbarer macht. Probiert es aus und erlebt den Unterschied!

Kommentare 0

Noch keine Kommentare. Seien Sie der Erste!

Kommentar schreiben

Ihre Meinung ist willkommen — Kommentare erscheinen nach kurzer Prüfung.

Kommentare werden vor Veröffentlichung moderiert.