在phpinfo()输出中公开扩展版本

时间:2016-08-09 12:16:53

标签: php c php-extension php-internals phpinfo

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

之类的东西
#define PHP_MYEXT_VERSION "0.1.0"

然后,PHP将在userland PHP中调用phpversion('myext')时使用它来提供有关扩展程序版本的信息。

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

如何在phpinfo()

中公开该版本

1 个答案:

答案 0 :(得分:3)

您可以通过在myext.c文件中提供phpinfo()功能,在PHP_MINFO_FUNCTION的输出中定义为您的扩展程序显示的信息。

来自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