Alternative PHP Cache (APC) ist ein kostenloser und öffentlich optimierter Code-Cache für PHP. Es wird verwendet, um ein kostenloses, offenes und robustes Framework zum Zwischenspeichern und Optimieren von PHP-Zwischencode bereitzustellen.
Die offizielle Website von APC ist http://pecl.php.net/package/apc .
Die
Download-Adresse des Erweiterungsmoduls unter Windows lautet http://www.sitebuddy.com/php/accelerators/apc_windows_binaries_builds
erfordert das Verzeichnis c:tmp, und das Verzeichnis muss für den Webserverprozess beschreibbar sein.
1.
Als PHP-Erweiterung
installieren.2.
Die boolesche
apc.optimization-Optimierungsoption
„APC“
konfigurieren.
Detaillierte Erläuterung der PHP.ini-Konfigurationsoptionen
.Der alternative PHP-Cache wird zum Zwischenspeichern und Optimieren von PHP verwendet code
apc.cache_by_default = On
;SYS
; Ob die Pufferung standardmäßig für alle Dateien aktiviert werden soll.
; Wenn auf Off gesetzt und mit der apc.filters-Direktive verwendet, die mit einem Pluszeichen beginnt, werden Dateien nur dann zwischengespeichert, wenn sie einem Filter entsprechen.
apc.enable_cli = Off
;SYS
; Gibt an, ob die APC-Funktion für die CLI-Version aktiviert werden soll. Aktivieren Sie diesen Befehl nur zu Test- und Debugzwecken.
apc.enabled = On
; Ob APC statisch in PHP kompiliert werden soll und Sie es deaktivieren möchten, ist dies die einzige Möglichkeit.
apc.file_update_protection = 2
;SYS
; Wenn Sie Dateien auf einem laufenden Server ändern, sollten Sie atomare Operationen durchführen.
; Das heißt, zuerst in eine temporäre Datei schreiben und dann die Datei in den endgültigen Namen umbenennen (mv).
; Texteditoren und Programme wie cp und tar funktionieren nicht auf diese Weise, was dazu führen kann, dass unvollständige Dateien gepuffert werden.
; Der Standardwert 2 bedeutet, dass beim Zugriff auf eine Datei keine Pufferung durchgeführt wird, wenn festgestellt wird, dass die Änderungszeit weniger als 2 Sekunden vom Zugriffszeitpunkt entfernt ist.
; Der unglückliche Besucher erhält möglicherweise beschädigte Inhalte, aber der schlechte Effekt wird durch Caching nicht verstärkt.
; Wenn Sie sicherstellen können, dass alle Aktualisierungsvorgänge atomar sind, können Sie diese Funktion mit 0 deaktivieren.
; Wenn Ihr System aufgrund umfangreicher E/A-Vorgänge langsam aktualisiert wird, müssen Sie diesen Wert möglicherweise erhöhen.
apc.filters =
;SYS
; Eine durch Kommas getrennte Liste erweiterter regulärer POSIX-Ausdrücke.
; Wenn der Name der Quelldatei mit einem der Muster übereinstimmt, wird die Datei nicht zwischengespeichert.
; Beachten Sie, dass der zum Abgleich verwendete Dateiname der an include/require übergebene Dateiname ist, nicht der absolute Pfad.
; Wenn das erste Zeichen des regulären Ausdrucks „+“ ist, bedeutet dies, dass alle mit dem Ausdruck übereinstimmenden Dateien zwischengespeichert werden.
; Wenn das erste Zeichen „-“ ist, werden alle Übereinstimmungen nicht zwischengespeichert. „-“ ist der Standardwert und kann weggelassen werden.
apc.ttl = 0
;SYS
; Die Anzahl der Sekunden, die ein Cache-Eintrag im Puffer bleiben darf. 0 bedeutet, dass es nie zu einer Zeitüberschreitung kommt. Der empfohlene Wert liegt zwischen 7200 und 36000.
; Die Einstellung auf 0 bedeutet, dass der Puffer möglicherweise mit alten Cache-Einträgen gefüllt wird, wodurch verhindert wird, dass neue Einträge zwischengespeichert werden.
apc.user_ttl = 0
;SYS
; Ähnlich wie apc.ttl, aber für jeden Benutzer beträgt der empfohlene Wert 7200~36000.
; Die Einstellung auf 0 bedeutet, dass der Puffer möglicherweise mit alten Cache-Einträgen gefüllt wird, wodurch verhindert wird, dass neue Einträge zwischengespeichert werden.
apc.gc_ttl = 3600
;SYS
; Die Anzahl der Sekunden, die ein Cache-Eintrag in der Garbage-Collection-Tabelle vorhanden sein kann.
; Dieser Wert stellt eine Sicherheitsmaßnahme dar, sodass selbst wenn ein Serverprozess während der Ausführung einer zwischengespeicherten Quelldatei abstürzt
und die Quelldatei geändert wurde, der für die alte Version zugewiesene Speicher erst zurückgefordert wird, wenn dieser TTL-Wert erreicht ist.
; Auf Null setzen, um diese Funktion zu deaktivieren.
apc.include_once_override = Aus
;SYS
; Bitte lassen Sie es ausgeschaltet, sonst kann es zu unerwarteten Ergebnissen kommen.
apc.max_file_size = 1M
;SYS
; Deaktivieren Sie die Zwischenspeicherung von Dateien, die diese Größe überschreiten.
apc.mmap_file_mask =
; SYS
; Wenn die MMAP-Unterstützung für APC mit --enable-mmap kompiliert wurde (standardmäßig aktiviert),
ist der Wert hier die an das mmap-Modul übergebene Dateimaske im mktemp-Stil (der empfohlene Wert ist „/tmp“) /apc. XXXXXX").
; Diese Maske wird verwendet, um zu bestimmen, ob der speicherzugeordnete Bereich dateigesichert oder gemeinsam genutzter Speicher gesichert sein soll.
; Für eine direkte dateigestützte Speicherzuordnung setzen Sie es auf „/tmp/apc.XXXXXX“ (genau 6 X).
; Um shm_open/mmap im POSIX-Stil zu verwenden, muss es auf „/apc.shm.XXXXXX“ gesetzt werden.
; Sie können auch „/dev/zero“ festlegen, um die „/dev/zero“-Schnittstelle des Kernels für anonym zugeordneten Speicher zu verwenden.
; Wenn diese Direktive nicht definiert wird, wird die Verwendung einer anonymen Zuordnung erzwungen.
apc.num_files_hint = 1000
; SYS
; Die ungefähre Anzahl verschiedener Quelldateien, die auf dem Webserver eingebunden oder angefordert werden können (empfohlener Wert ist 1024~4096).
; Wenn Sie sich nicht sicher sind, setzen Sie diese Einstellung auf 0; diese Einstellung wird hauptsächlich für Websites mit Tausenden von Quelldateien verwendet.
apc.optimization = 0
; Optimierungsstufe (empfohlener Wert ist 0).
; Ein positiver ganzzahliger Wert aktiviert den Optimierer, wobei höhere Werte aggressivere Optimierungen verwenden.
; Höhere Werte haben möglicherweise nur sehr begrenzte Geschwindigkeitsverbesserungen, sind jedoch derzeit experimentell.
apc.report_autofilter = Off
;SYS
; Ob alle Skripte aufgezeichnet werden sollen, die aus Gründen der frühen/späten Bindung nicht automatisch zwischengespeichert werden.
apc.shm_segments = 1
;SYS
; Die Anzahl der gemeinsam genutzten Speicherblöcke, die dem Compiler-Puffer zugewiesen sind (empfohlener Wert ist 1).
; Wenn APC nicht mehr über den gemeinsam genutzten Speicher verfügt und die Direktive apc.shm_size auf das vom System zulässige Maximum eingestellt wurde,
können Sie versuchen, diesen Wert zu erhöhen.
apc.shm_size = 30
; SYS
; Die Größe jedes gemeinsam genutzten Speicherblocks (in MB, der empfohlene Wert ist 128~256).
; Einige Systeme (einschließlich der meisten BSD-Varianten) haben standardmäßig eine sehr kleine Blockgröße für den gemeinsam genutzten Speicher.
apc.slam_defense = 0
;SYS (Es ist gegen die Verwendung dieser Anweisung, es wird empfohlen, die Anweisung apc.write_lock zu verwenden)
; Auf einem sehr ausgelasteten Serverkann dies daran liegen
, dass ein Dienst gestartet oder eine Datei geändert wird
Mehrere Prozesse versuchen gleichzeitig, eine Datei zwischenzuspeichern. Dies führt zu einer Race-Bedingung.
; Mit dieser Anweisung wird der Prozentsatz festgelegt, bei dem der Prozess den Caching-Schritt überspringt, wenn nicht zwischengespeicherte Dateien verarbeitet werden.
; Wenn Sie ihn beispielsweise auf 75 setzen, besteht eine 75-prozentige Wahrscheinlichkeit, dass nicht zwischengespeichert wird, wenn eine nicht zwischengespeicherte Datei gefunden wird, wodurch die Wahrscheinlichkeit einer Kollision verringert wird.
; Es wird empfohlen, den Wert auf 0 zu setzen, um diese Funktion zu deaktivieren.
apc.stat = Ein
;SYS
; Ob die Skriptaktualisierungsprüfung aktiviert werden soll.
; Seien Sie sehr vorsichtig, wenn Sie diesen Direktivenwert ändern.
; Der Standardwert Ein gibt an, dass APC bei jeder Anforderung prüft, ob es aktualisiert wurde.
Der kompilierte Inhalt wird automatisch neu kompiliert und zwischengespeichert. Dies wirkt sich jedoch negativ auf die Leistung aus.
; Bei der Einstellung „Aus“ wird keine Prüfung durchgeführt, wodurch die Leistung erheblich verbessert wird.
; Damit der aktualisierte Inhalt jedoch wirksam wird, müssen Sie den Webserver neu starten.
; Diese Direktive gilt auch für include/require-Dateien. Es ist jedoch zu beachten
, dass APC bei Verwendung eines relativen Pfads bei jedem Einbinden/Anfordern eine Überprüfung durchführen muss, um die Datei zu lokalisieren.
; Durch die Verwendung absoluter Pfade kann die Prüfung übersprungen werden. Wir empfehlen Ihnen daher, absolute Pfade für Einschluss-/Anforderungsvorgänge zu verwenden.
apc.user_entries_hint = 100
;SYS
; Ähnlich der num_files_hint-Direktive, aber für jeden anderen Benutzer.
; Wenn Sie sich nicht sicher sind, setzen Sie es auf 0.
apc.write_lock = Ein
;SYS
; Ob die Schreibsperre aktiviert werden soll.
; Auf einem sehr ausgelasteten Server
kann es zu einer Race-Bedingung kommen, wenn mehrere Prozesse gleichzeitig versuchen, eine Datei zwischenzuspeichern.
; Aktivieren Sie diese Anweisung, um Race Conditions zu vermeiden.
apc.rfc1867 = Aus
;SYS
; Nach dem Einschalten dieser Anweisung erstellt APC für jede hochgeladene Datei, die das Feld APC_UPLOAD_PROGRESS direkt vor dem Dateifeld enthält,
automatisch einen Benutzer-Cache-Eintrag für upload_ (d. h. den Feldwert APC_UPLOAD_PROGRESS).
3. Funktion
apc_cache_info – Ruft zwischengespeicherte Informationen (und Metadaten) aus dem Datenspeicher von APC ab
apc_clear_cache – Löscht den APC-Cache
apc_define_constants – Definiert einen Satz von Konstanten für den späteren Abruf und die Massendefinition
apc_delete – Entfernt eine gespeicherte Variable aus dem Cache
apc_fetch – Ruft eine gespeicherte Variable aus dem Cache ab
apc_load_constants – Lädt einen Satz Konstanten aus dem Cache
apc_sma_info – Ruft die Informationen zur Shared-Memory-Zuweisung von APC ab
apc_store – Eine Variable im Datenspeicher zwischenspeichern.
Die Verwendung von apc ist relativ einfach, mit nur wenigen Funktionen, die unten aufgeführt sind.
apc_cache_info () gibt Cache-Informationen zurück.
apc_clear_cache() löscht den APC-Cache-Inhalt.
Standardmäßig (keine Parameter) wird nur der Systemcache gelöscht. Um den Benutzercache zu löschen, verwenden Sie den Parameter „Benutzer“.
apc_define_constants (String-Schlüssel, Array-Konstanten [, bool case_sensitive]) Fügen Sie Array-Konstanten als Konstanten zum Cache hinzu.
apc_load_constants (String-Schlüssel).
Entfernen Sie den Konstantcache.
apc_store (String-Schlüssel, gemischte Variable [, int ttl]).
Daten im Cache speichern.
apc_fetch(String-Schlüssel).
Rufen Sie den von apc_store gespeicherten Cache-Inhalt apc_delete (String-Schlüssel) ab
.
Löschen Sie den von apc_store gespeicherten Inhalt.
APC-Verwaltung:
Gehen Sie zu pecl.php.net, um das APC-Quellcodepaket herunterzuladen. Dort finden Sie apc.php. Kopieren Sie es an einen Ort, an dem Ihr Webserver darauf zugreifen kann, und navigieren Sie, um darauf zuzugreifen.
Die Funktionen der Verwaltungsschnittstelle sind:
1. Daten aktualisieren
2. Host-Statistiken anzeigen
3. System-Cache-Einträge
4. Benutzer-Cache-Einträge
5. Versionsprüfung