Installation und Verwendung von hidef, einer PHP-Erweiterung, die die Definitionsleistung verbessert

高洛峰
Freigeben: 2023-03-01 11:10:01
Original
1086 Leute haben es durchsucht

Einführung:
Ermöglicht die Definition benutzerdefinierter Konstanten in einfachen INI-Dateien, die dann wie interne Konstanten verarbeitet werden, ohne
der üblichen Leistungseinbußen.
Ermöglicht die Definition benutzerdefinierter Konstanten in einfachen INI-Dateien Dateien, die dann wie interne Konstanten verarbeitet werden, ohne Konstanten, genau wie bei der Verwendung interner Variablen, ohne die Leistungsprobleme bei der Verwendung von Define.

Der Autor sagte, dass Hidef im PHP-Modul init initialisiert wird, bevor Apache anfängt, Kinder zu erzeugen.
Bevor Apache startet, werden diese Konstanten erstellt und initialisiert, wenn PHP startet, sodass keine Notwendigkeit besteht, Konstanten in PHP zu definieren , es gibt kein Problem mit der Leistung!
Es ist auch unter Nginx verfügbar. Der folgende Installationsprozess ist:

1. Laden Sie es herunter und entpacken Sie es in das Verzeichnis

# wget http://pecl.php.net/. get/hidef-0.1 .8.tgz
# tar zxvf hidef-0.1.8.tgz
# cd hidef-0.1.8

2 Es gibt keine Konfigurationsdatei, führen Sie zum Erstellen phpize aus die Datei

# /usr/local/webserver/php/bin/phpize
# ./configure --enable-hidef --with-php-config=/usr/local/webserver/php/ bin/php-config
# make
# make install

3. Zur php.ini-Datei hinzufügen

# vi /usr/local/webserver/php/etc/ php.ini

----------------------------------------- ---------
extension=hidef.so
hidef.ini_path=/usr/local/webserver/php/etc/
------------ ----------- ------------------------- ----------- -----

Beachten Sie, dass, wenn hidef.ini_path nicht in der php.ini-Datei definiert ist, der Standardspeicherort für das Lesen der .ini-Datei /hidef You ist Sie müssen lediglich die Datei vi /hidef/hidef.ini manuell erstellen.

# vi /usr/local/webserver/php/etc/hidef.ini (passen Sie den Pfad hier je nach Situation an)
Kopieren Sie den Code. Der Code lautet wie folgt:
[hidef]
int ANSWER = 42;
str HX = "9enjoy";
float PIE = 3.14159;

Hier wird int für Ganzzahlen verwendet, float für Gleitkommazahlen und str wird für Strings verwendet.
Der Wert der Zeichenfolge str wird in doppelte Anführungszeichen gesetzt oder der Zeichenfolgeninhalt wird direkt geschrieben. Wenn einfache Anführungszeichen verwendet werden, werden die einfachen Anführungszeichen auch als Inhalt der Zeichenfolge verwendet.
Zum Beispiel str HX='9enjoy', was tatsächlich gespeichert wird, ist nicht 9enjoy, sondern '9enjoy'.

4. php-fpm neu laden

# /usr/local/webserver/php/sbin/php-fpm reload

Überprüfen Sie zu diesem Zeitpunkt phpinfo() als Als Ergebnis können Sie die definierten Variablen unter hidef sehen.


-------------------------------------------------------- ------------------------------------

Anhang:

Wenn APC verwendet wird, stellt apc Methoden zum Definieren von Konstanten bereit. apc_define_constants und apc_load_constants. apc_define_constants konvertiert Konstanten in Arrays und speichert sie in einem Benutzercache. Obwohl die Konstanten im Speicher gespeichert sind, muss PHP bei jeder Anforderung dennoch den Cache lesen und sie separat definieren, sodass es zu keiner offensichtlichen Leistungsverbesserung kommt. Ich habe die Definition von 25 Konstanten getestet und die Verwendung der apc-Funktion war 0,01 ms schneller als die direkte Definition der Konstanten.

Verwendung wie folgt:
if(!apc_load_constants('definiert')) {
$constants = array(
'HX' => TRUE,
'D_BUG' = > ; 1
);
apc_define_constants('definiert', $constants);
}

define() ist notorisch langsam, da der Hauptvorteil von APC darin besteht, die Leistung zu steigern Für Skripte/Anwendungen wird dieser Mechanismus bereitgestellt, um den Prozess der Definition von Massenkonstanten zu optimieren.

Für eine leistungsstärkere Lösung versuchen Sie es mit der Erweiterung hidef

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage