Ich hoffe, dass mir jemand helfen kann, das herauszufinden. Ich habe APC kürzlich auf einigen meiner Server ausgeführt, die nur eine Anwendung hosten, und es hat großartig funktioniert. Leider habe ich es heute Abend auf meinem Arbeitshorse-Webserver laufen lassen und sobald ich es angeschaltet habe, habe ich begonnen, von meinen WordPress-Blogs zu "mischen". Der erste Blog, der geladen wurde, würde Datenbankinformationen zwischenspeichern und dann würde jedes später geladene Blog einen Datenbankfehler bekommen.
Was ich wissen möchte, ist, ob es eine Möglichkeit gibt, den Cache irgendwie voranzutreiben , damit ich dieses Problem vermeiden kann. I angenommen , dass der Cache die Unterschiede in der absoluten Pfadangabe zwischen den Dateien berücksichtigt und nicht die gleiche zwischengespeicherte Kopie an mehreren Standorten verwendet ... FAIL
Vielen Dank im Voraus!
Aktualisieren
Wie hier verlangt, ist eine Kopie der apc.ini-Datei, die ich in /etc/php.d/ verwende, um die Standardeinstellungen zu überschreiben:
/etc/php.d/apc.ini
%Vor%Soweit ich weiß, können Sie keine globalen Einstellungen verwenden, um Präfix für verschiedene Anwendungen zu setzen. Sie könnten Ihre Schlüsselnamen ändern und den Namen Präfixe hinzufügen. Wenn Sie erfahrener sind, können Sie zwei verschiedene Instanzen von PHP mit fastcgi verwenden, je nachdem, welchen HTTP-Server Sie verwenden. Wir machen sowas mit APC und ngix:)
Haben Sie versucht, apc.file_md5
auf% zu setzen? Code%? Andere Richtlinien, die einen Unterschied machen könnten:
On
(Wenn diese Option aktiviert ist, werden die relativen Pfade in Nr -stat-Modus.) apc.canonicalize
(Keine Ahnung, wirklich ...) Abhängig von Ihrem Ziel glaube ich, dass entweder apc.preload_path
oder apc.file_md5
helfen.
Fügt Wordpress die Cache-Einträge hinzu, um DB-Anfragen zu speichern? Wenn dies der Fall ist, müssen Sie die Cache-Bibliotheksdatei so bearbeiten, dass sie ein Präfix enthält.
Ich vermute, dass Sie ein Wordpress-Plugin verwenden? Wenn ja, welches Plugin?
Wenn Sie das Doctrine-ORM verwenden und APC-Caching aktiviert haben, ohne ein Präfix anzugeben, kann dies zu Problemen führen.
In meinem Fall führte die Verwendung des Symfony-Frameworks und die blinde Befolgung der Anleitung in Ссылка zum Mischen des APC-Caches.
Vielen Dank an die Jungs von Apostrope Ссылка es scheint, dass Sie a angeben müssen eindeutiges Präfix zum Doctrine-Cache.
/config/ProjectConfiguration.class.php
Haben Sie das Speichermapping bereits ausprobiert? Es scheint (ich werde es versuchen!) Es sollte gut funktionieren und mit php-fpm und den Pools können Sie verschiedene Konten mit verschiedenen Caches haben ...!
Hier ist ein Link, der Sie interessieren könnte: Ссылка :)
Ich habe ein Modul, das Ihnen helfen kann: Ссылка
Dort können Sie Präfixe, Tags für Schlüssel und andere Vorteile verwenden.
Und Sie können den Cache-Speicher (APC, Memcache, shm-memory) ändern, ohne Ihren Code zu ändern (eine Schnittstelle für alle Speicher).
edit: Es ist für den Cache des Benutzers gedacht, also wird es Ihr Problem nicht beheben. Du hast es zu spät erwähnt:)
Ich musste mich nur mit diesem Problem befassen. Ich fügte die folgenden apc params hinzu
%Vor%Nicht sicher, ob das geholfen hat oder die Variable, die ich der Datei hinzugefügt habe. In meinem Fall jedoch verwirrte es Dateien unter einem Webstamm, der zufällig in verschiedenen Pfaden existiert, denselben Namen und denselben "Header" hat.
Tags und Links php apc virtualhost opcode