PHP-Opcode-Cache, der identische Dateien erkennen kann

PHP-Opcode-Cache, der identische Dateien erkennen kann

Ich verwende derzeit APC mit PHP FPM, um ein paar hundert Wordpress-Sites zwischenzuspeichern. Mit einem 2-GB-Cache funktioniert alles gut, aber es ist nicht besonders effizient und der Cache ist immer voll.

Wenn ich 200 Wordpress-Sites mit identischen Versionen auf demselben Server habe, werden beispielsweise 200 identische wp-db.php-Dateien zwischengespeichert.

Ich glaube, ich erinnere mich an eine Diskussion vor ein paar Jahren, in der es darum ging, ob es ein Sicherheitsrisiko darstellen könnte. Ich bezweifle, dass dies noch ein Problem ist (insbesondere mit PHP FPM), aber ich kontrolliere sowieso alle Websites, sodass die Vorteile alle Nachteile überwiegen.

Hat sich das in den letzten Jahren geändert? Vor allem mit dem neuen Standard Zend Opcache? Ein Hack wie Symlinks ist nicht ideal, da man beispielsweise nicht 500 Sites auf einmal aktualisieren kann, sodass es von Zeit zu Zeit zu schrecklichen Störungen kommen würde.

Antwort1

Dies ist eine teilweise Antwort, da ich dies mit Zend-Opcode nicht erlebt habe.

Als ich APC das letzte Mal benutzt habe, kam mir diese Funktion wie ein Fehler vor, ich habe sie nie als Funktion gesehen :-). Wenn Sie chroot-ed Pools mit php-fpm verwenden und alle Pools die gleichen relativen Pfade im Chroot haben, dann teilen sie sich den gleichen Cache-Schlüssel in APC. Da der Schlüssel der vollständige absolute Dateipfad ist und dieser Dateipfad in einem Chroot nicht den Teil enthalten kannVordie Chroot.

Sie könnten es also mit chroot versuchen. Dazu sind allerdings mehrere Tricks nötig:

  • die Chroots sollten alle Elemente enthalten, die PHP benötigen könnte (temporäre Verzeichnisse, /etc/hosts, einige Geräte)
  • php mail würde nicht funktionieren und sollte im SMTP-Modus verwendet werden
  • Einige Dateien sollten vom Cache ausgeschlossen werden, alle Dateien die Einstellungen enthalten. Wenn Sie diesen Punkt vergessen, kommen Websites durcheinander!
  • vielleicht noch andere, chroot ist nie einfach

verwandte Informationen