在phpinfo()输出中显示扩展的版本


c - Expose version of extension in phpinfo() output

在为PHP编写自定义扩展时,通常在扩展的头文件中定义一个版本字符串,例如

#define PHP_MYEXT_VERSION "0.1.0"
当在用户域PHP中调用phpversion('myext')时,

PHP将使用它来提供有关扩展版本的信息。

但是,在phpinfo()的输出中默认不呈现版本字符串。一些扩展,如ext/json,确实在phpversion()的输出中列出了它们的版本。

如何在phpinfo()中暴露版本

您可以通过在myext.c文件中提供PHP_MINFO_FUNCTION函数来定义在phpinfo()的输出中为您的扩展显示哪些信息。

示例来自ext/json:

/* {{{ PHP_MINFO_FUNCTION
*/
static PHP_MINFO_FUNCTION(json)
{
    php_info_print_table_start();
    php_info_print_table_row(2, "json support", "enabled");
    php_info_print_table_row(2, "json version", PHP_JSON_VERSION);
    php_info_print_table_end();
}
/* }}} */

这将产生如下输出:

json
json support => enabled
json version => 1.4.0