Das PHP-Modul OPcache beschleunigt die Ausführung von PHP-Scripten, indem es diese vorkompiliert im Arbeitsspeicher vorhält. Unter Debian 12 ist OPCache durch folgende Einstellung in der php.ini standardmäßig aktiviert:
opcache.enable = 1
Für ein Produktiv-System mit vielen Zugriffen kann diese Einstellung sicher von Vorteil sein. Auf einem Entwicklungs-System mit wenigen Zugriffen, aber häufigen Änderungen sollte das Modul besser deaktiviert werden:
opcache.enable = 0
Andernfalls können leichter Fehler auftreten, deren Ursache nicht so schnell ersichtlich ist. Ich hatte kürzlich mittels Git-Cherry-Pick einen Commit aus dem Haupt-Branch auf den älteren Branch einer Webanwendung übertragen. Beim Testen traten dann Fehler auf, die mich erst vermuten ließen, dass der Commit zuwenig oder zuviel Dateien enthielt. Erst nach einiger Zeit stellte ich fest, dass stattdessen OPcache mir einen Streich spielte, indem es eine (nicht im Commit enthaltene) vorkompilierte Datei des Haupt-Branches lud, die es wohl vor dem Wechsel in den älteren Branch erstellt hatte. Nachdem ich OPcache deaktiviert und PHP-FPM neu gestartet habe, waren die Fehler verschwunden.