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