Erweiterungsinformationen veröffentlicht
veröffentlichen oder API-Anforderungen widerspiegeln. Werfen wir einen Blick darauf. phpinfo()
Verwandte Lernempfehlungen:MINFO()-HookWenn deklariert, funktioniert alles es im
-Hook der Deklaration. Wenn nicht deklariert, führt die Engine eine Standardfunktion aus, um Informationen über die Erweiterung zu drucken. Diese Funktion gibt nur die Version der Erweiterung und den endgültigen deklarierten INI-Eintrag aus. MINFO()
-Hook in der Erweiterungsstruktur deklarieren. MINFO()
Fall: MINFO()
#include "php/main/SAPI.h" #include "ext/standard/info.h" #define PIB_TXT "PHPInternalsBook Authors" #define PIB_HTML "<h3>" PIB_TXT "</h3>" PHP_MINFO_FUNCTION(pib) { time_t t; char cur_time[32]; time(&t); php_asctime_r(localtime(&t), cur_time); php_info_print_table_start(); php_info_print_table_colspan_header(2, "PHPInternalsBook"); php_info_print_table_row(2, "Current time", cur_time); php_info_print_table_end(); php_info_print_box_start(0); if (!sapi_module.phpinfo_as_text) { php_write(PIB_HTML, strlen(PIB_HTML)); } else { php_write(PIB_TXT, strlen(PIB_TXT)); } php_info_print_box_end(); } zend_module_entry pib_module_entry = { STANDARD_MODULE_HEADER, "pib", NULL, /* Function 入口 */ NULL, /* Module 初始化 */ NULL, /* Module 关闭 */ NULL, /* Request 初始化 */ NULL, /* Request 关闭 */ PHP_MINFO(pib), /* Module information */ "0.1", /* 扩展的版本号写在这里 */ STANDARD_MODULE_PROPERTIES };
API, mit der Sie Informationen in den generierten Ausgabestream drucken können. Wenn Sie einige Rohinformationen ausdrucken möchten, reicht ein einfaches php_info_print_*()
aus. php_write()
dient dazu, die von Ihnen übergebenen Informationen als Parameter des SAPI-Ausgabestreams zu behandeln. Die php_write()
API ist dieselbe, wird jedoch gemäß den vorherigen Anforderungen formatiert. Wenn Sie das HTML-Format wünschen, verwenden Sie es Die HTML-Tags php_info_print_*()
table-tr-td werden einfach durch Leerzeichen getrennt, wenn sie nicht in HTML formatiert werden müssen.
ext/standard/info.h einschließen, um die API zu importieren, und Sie müssen auch php_info_print_*()
php/main/SAPI einschließen .h, um das -Symbol zu erhalten. Dieses Symbol ist global und stellt das vom aktuellen PHP-Prozess verwendete sapi_module
SAPI dar. Das Feld sagt Ihnen, ob Sie ein „Web“-SAPI wie phpinfo_as_text
php-fpm oder einen „Text“ wie php-cli (SAPI) schreiben möchten.
-Hook auslösen kann, ist Folgendes: MINFO()
phpinfo()
php -i
, php-cgi -i
. Oder ein abstrakterer Ausdruck ist php-fpm -i
<sapi_binary> - i</sapi_binary>
php --ri
ReflectionExtension::info()
des Kunden. Hinweis: sollte auf die Ausgabe achten Format. Wenn Sie zwischen Text und HTML konvertieren müssen, schauen Sie sichWenn Sie Ihre INI-Einstellungen anzeigen möchten, rufen Sie einfach das Makroan. Sie haben keine Möglichkeit zu erfahren, wie die erweiterten Informationen auf der Clientseite heißen.
sapi_module.phpinfo_as_text
in Ihrem MINFO()
auf. Eine Analyse dieses Makros finden Sie unter display_ini_entries().DISPLAY_INI_ENTRIES()
-Hook auslösen kann, ist Folgendes: MINFO()
phpinfo()
php -i
. Oder ein abstrakterer Ausdruck ist php-cgi -i
php-fpm -i
<sapi_binary> - i</sapi_binary>
php --ri
ReflectionExtension::info()
in Ihremsollte auf die Ausgabe achten Format. Wenn Sie zwischen Text und HTML konvertieren müssen, schauen Sie sich
an. Sie haben keine Möglichkeit zu erfahren, wie die erweiterten Informationen auf der Clientseite heißen.Wenn Sie Ihre INI-Einstellungen anzeigen möchten, rufen Sie einfach das Makro
sapi_module.phpinfo_as_text
auf. Eine Analyse dieses Makros finden Sie unter display_ini_entries().MINFO()
DISPLAY_INI_ENTRIES()
Erklärung zur Reflection-API
aufrufen, liest die API nur das Versionsfeld der zend_module_entry
-Struktur. ReflectionExtension::getVersion()
zend_module_entry
Genau wie beim Erkennen von Funktionen verfügt Ihr
-Mitglied, das zum Registrieren von PHP-Funktionen verwendet wird. zend_module_entry
Im Grunde liest die PHP-Userland-Reflection-API einfach Ihre zend_module_entry
-Struktur und veröffentlicht diese Informationen. Es kann auch Ihr module_number
verwenden, um Informationen über Erweiterungen zu sammeln, die an verschiedenen Stellen in der Engine registriert sind. Verwenden Sie dies beispielsweise ReflectionExtension::getINIentries()
oder ReflectionExtension::getClasses()
.
Das obige ist der detaillierte Inhalt vonSo veröffentlichen Sie erweiterte Informationen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!