Heim  >  Artikel  >  Backend-Entwicklung  >  So installieren und konfigurieren Sie ZendOpcache

So installieren und konfigurieren Sie ZendOpcache

醉折花枝作酒筹
醉折花枝作酒筹nach vorne
2021-07-23 09:17:311783Durchsuche

Zend, das Unternehmen hinter dem PHP-Entwicklungsteam, hat kürzlich sein PHP-Beschleunigungsprodukt Zend Optimizer als Open Source bereitgestellt. Das neue Projekt wird auf Github gehostet und der Projektname ist ZendOptimizerPlus. Heute werden wir über ZendOpcache sprechen.

So installieren und konfigurieren Sie ZendOpcache

Einführung

Zend Optimizer + beschleunigt die PHP-Ausführung durch Zwischenspeichern und Optimieren von Opcodes. Dieser Vorgang macht das Lesen von der Festplatte überflüssig PHP-Dateien und anschließendes Kompilieren bietet auch einen kleinen Bytecode-Optimierungsmodus, um die Codeausführung zu beschleunigen.

Anwendbarkeit

Die aktuelle Version von Zend Optimizer + ist für PHP 5.2.*, 5.3 geeignet. *, 5.4.* und der PHP-5.5-Entwicklungsversionszweig werden möglicherweise in Zukunft entfernt 7.0 .1 Beta-Version, herunterladen und entpacken, kompilieren:

http://pecl.php.net/package/ZendOpcache

KonfigurationPhp.ini bearbeiten

wget http://pecl.php.net/get/zendopcache-7.0.1.tgz
tar xzf zendopcache-7.0.1.tgz
cd zendopcache-7.0.1
phpize
./configure --with-php-config=/path_to_php_bin/php-config
make
make install

Starten Sie Ihr PHP-CGI oder Apache neu.

Detaillierte Erklärung der Konfigurationsparameter

opcache.enable

(Standardwert: 1)Zend Optimizer + Schalter, der Code wird beim Ausschalten nicht mehr optimiert.

  • opcache.memory_consumption(Standardwert: 64)

    Zend Optimizer + Shared-Memory-Größe, wie viele Voreinstellungen kann im gesamten kompilierten PHP-Code gespeichert werden (Einheit: MB).

  • opcache.max_accelerated_files

    (Standardwert: 2000)Zend Optimizer + die maximale Anzahl von Schlüsseln in der Hash-Tabelle (eine Skriptdatei sollte einem Schlüssel entsprechen, daher sollte es die maximale Anzahl von Dateien sein, die zwischengespeichert werden dürfen ). Dieser Wert ist tatsächlich die erste Zahl in der Primzahlenliste {223, 463, 983, 1979, 3907, 7963, 16229, 32531, 65407, 130987}, die größer als der eingestellte Wert ist – 100000

  • opcache.(Standardwert: 5)

    Wenn der „verschwendete“ Speicher den diesem Wert entsprechenden Prozentsatz erreicht, wird ein Neustartplan initiiert. Standardwert: 1)

    Wenn Sie diesen Befehl aktivieren, hängt Zend Optimizer + automatisch den Namen des aktuellen Arbeitsverzeichnisses an den Skriptschlüssel an, um Schlüsselwert-Benennungskonflikte zwischen Dateien mit demselben Namen zu vermeiden. Dies führt jedoch zu Schäden an vorhandenen Anwendungen Kontrollen werden durch die Direktive „opcache.revalidate_freq“ bestimmt.

  • opcache.revalidate_freq(Standard: 2)

    Wie oft (in Sekunden) der Dateizeitstempel überprüft werden soll, um die Zuweisung des gemeinsam genutzten Speichers zu ändern. 1“ bedeutet einmal pro Sekunde überprüfen, ist aber einmal pro Anfrage. „0“ bedeutet immer überprüfen ist deaktiviert und die zwischengespeicherte Datei kann im selben Include-Pfad gefunden werden, und die Dateisuche wird nicht fortgesetzt, wenn sich an anderer Stelle im Include-Pfad eine Datei mit demselben Namen befindet Auswirkungen auf Ihre Anwendung. Standardmäßig sollte die Anweisung deaktiviert sein, was bedeutet, dass die Optimierung aktiv ist. (Standard: 1)

    Wenn deaktiviert, werden alle Dokumente kommentiert werden aus dem Code entfernt, um die Größe des optimierten Codes zu reduzieren. Das Deaktivieren von „Dokumentationskommentaren“ kann dazu führen, dass einige vorhandene Anwendungen und Frameworks beschädigt werden (z. B. Doctrine, ZF2, PHPUnit) (Standard: 1).
  • Wenn deaktiviert, werden PHP-Dokumentationskommentare nicht aus dem SHM (gemeinsam genutzter Speicher) gelesen. Obwohl „Dokumentationskommentare“ weiterhin gespeichert werden (save_comments=1), werden sie trotzdem nicht verwendet. Anmerkungen müssen nicht von der Anwendung gelesen werden .

    opcache.fast_shutdown

    (Standard: 0)
  • Wenn aktiviert, wird eine Schnell-Shutdown-Warteschlange verwendet, um den Code nicht freizugeben, sondern den Zend Engine-Speichermanager freizugeben Erledige die Arbeit.

    opcache.enable_file_override

    (Standard: 0)
  • Ermöglicht Optimierungsfunktionen, die Dateiexistenz zu überschreiben (file_exists usw.).

    opcache.optimization_level

    (Standard: 0xffffffff)
  • Eine Bitmaske, bei der jedes Bit den entsprechenden Cache-Durchlauf zulässt oder deaktiviert

    opcache.inherited_hack

    (Standard: 1)
  • Durch die Aktivierung dieses Hacks kann der Fehler „Klasse kann nicht neu deklariert werden“ vorübergehend behoben werden. In Zend Optimizer + werden DECLARE_CLASS-Opcodes mithilfe der Vererbung gespeichert (dies sind die einzigen Opcodes, die von PHP ausgeführt werden können, sie können jedoch auch durch Optimierung verursacht werden). Die Klasse kann nicht gefunden und nicht ausgeführt werden. Wenn die Datei gelesen wird, versucht der Optimierer, die geerbte Klasse über die aktuelle Umgebung zu binden. Das Problem dabei ist, dass der Opcode DECLARE_CLASS möglicherweise nicht vom aktuellen Skript benötigt wird script Der Opcode ist mindestens erforderlich, um den Klassendefinitionsvorgang abzuschließen. Dieser Befehl ist standardmäßig deaktiviert, was bedeutet, dass die Optimierung in PHP 5.3 und höher und dieser Einstellung nicht mehr erforderlich ist Es wird nicht wirksam.

  • opcache.dups_fix(Standard: 0)

    Durch die Aktivierung dieses Hacks kann der Fehler „Klasse kann nicht erneut deklariert werden“ vorübergehend behoben werden.

  • opcache.blacklist_filename(Standardwert : Keine)

    Zend Optimizer + Der Speicherort der Blacklist-Datei
    Zend Optimizer + Die Blacklist ist eine Textdatei, die die Namen von Dateien enthält, die nicht beschleunigt werden können. Der Dateiname muss sein ein vollständiger Pfad oder ein Dateipräfix (zum Beispiel: /var/www/x blockiert alle Dateien oder Verzeichnisse, die in den /var/www-Dateien und -Verzeichnissen mit „x“ beginnen. Dateien, die blockiert werden müssen, erfüllen normalerweise die folgenden drei Gründe). Einer von:
    1) Das Verzeichnis enthält automatisch generierten Code, wie z. B. Smarty oder ZFW-Cache.
    2) Der Code läuft bei der Beschleunigung nicht gut, wodurch die Auswertung zur Kompilierungszeit verzögert wird.
    3) Der Code löst einen Zend Optimizer + aus Fehler: opcache.max_file_size (Standard: 0)

    Überprüfen Sie die Cache-Überprüfung alle N Anfragen. Der Standardwert 0 bedeutet, dass die Überprüfung deaktiviert ist. Da die Berechnung des Überprüfungswerts die Leistung beeinträchtigt, sollte dieser Befehl während der Entwicklung und des Debuggens aktiviert werden : 180)
  • Wie lange muss gewartet werden (in Sekunden), um einen Neustart zu planen, nachdem nicht auf den Cache zugegriffen wurde? Es wird davon ausgegangen, dass Zend Optimizer + einige Probleme hat und beginnt, die Prozesse zu beenden, die noch die Neustartverhinderungssperre haben. Wenn dies geschieht und die Protokollebene 3 oder höher ist, wird ein „abgetöteter“ Locker-Fehler im Locker aufgezeichnet Apache-Protokoll.

    opcache.error_log

    (Standard: Keine)
  • Zend Optimizer + Name der Fehlerprotokolldatei leer lassen, um die Standardfehlerausgabe (stderr) zu verwenden.

    opcache.log_verbosity_level

    (Standard: 1)
  • Direkte Fehlermeldungen an das Webserver-Protokoll Standardmäßig werden nur schwerwiegende Fehler (Stufe 0) oder Fehler (Stufe 1) protokolliert. Sie können auch Warnungen (Stufe 2) oder Meldungen zulassen Zu protokollierende Debug-Meldungen (Stufe 4). (Standard: 0)

    Verhindern Sie, dass während der Skriptausführung versehentlich auf den gemeinsamen Speicher geschrieben wird, nur für internes Debuggen.

  • opcache.mmap_base
  • (Standard: Keine)

    Zuordnungsbasis für gemeinsam genutzte Speichersegmente (nur Windows Alle). PHP-Prozesse müssen demselben gemeinsam genutzten Speicheradressraum zugeordnet werden. Diese Anweisung wird verwendet, um Fehler „Erneutes Anhängen an Basisadresse nicht möglich“ manuell zu beheben.

    Empfohlenes Lernen:
  • php-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo installieren und konfigurieren Sie ZendOpcache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen