2016-04-08 13 views
2

würde Ich mag nur bestimmte Dateien mit OPCache zwischenzuspeichern ... Ich weiß, was ich tun kann, dass mit opcache_compile_file aber OPCache hält das Caching alle anderen vom Server verwendete Dateien.Cache nur bestimmte Dateien mit OPCache

Ich weiß auch, dass ich opcache.blacklist_filename zu verhindern Ordner werden im Cache verwenden kann ... Aber was, wenn ich nur ein bestimmtes Verzeichnis gecached werden soll. Ich kann nicht herausfinden, wie man Blacklist verwendet, um nichts außer einem bestimmten Pfad zwischenzuspeichern ... Ich würde lieber eine Whitelist verwenden ...

Wer weiß, wie man das macht?

Entschuldigung für mein schlechtes Englisch.

+0

Warum? Ich kann mir keinen Grund vorstellen, der über 'ein Fehler in opcache breaks this page' hinausgeht, auf dem Sie nicht möchten, dass die Opcache-Beschleunigung aktiviert wird. Ich nehme an, dass dies der einzige Grund ist, warum die Blacklist überhaupt existiert. – Sammitch

+0

@Sammitch, wie das Dokument sagt: Dateien werden normalerweise durch einen der folgenden drei Gründe ausgelöst: 1) Verzeichnisse, die automatisch generierten Code enthalten, wie Smarty oder ZFW Cache. 2) Code, der aufgrund einer verzögerten Kompilierzeitauswertung nicht beschleunigt wird. 3) Code, der einen OPcache-Fehler auslöst. – Yvan

Antwort

0

Bis jetzt gibt es keine einfache Lösung dafür. Sie müssen alle Verzeichnisse entfernen, die Sie nicht möchten.

Sie können die Platzhalter verwenden, um Ihnen ein wenig zu helfen, aber das kann eine große Liste sein, wenn Sie viele Verzeichnisse haben.

Eine andere Option ist PHP-FPM auszuführen und mehrere Pools zu haben: Einer würde beschleunigt werden, der andere nicht (Opcache deaktiviert).