在 phpinfo() 输出中公开扩展版本
Expose version of extension in phpinfo() output
在为 PHP 编写自定义扩展时,您通常会在扩展的头文件中定义一个版本字符串,例如像
#define PHP_MYEXT_VERSION "0.1.0"
PHP 将在用户空间 PHP 中调用 phpversion('myext')
时使用它来提供有关扩展版本的信息。
但是,默认情况下,版本字符串不会在 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
在为 PHP 编写自定义扩展时,您通常会在扩展的头文件中定义一个版本字符串,例如像
#define PHP_MYEXT_VERSION "0.1.0"
PHP 将在用户空间 PHP 中调用 phpversion('myext')
时使用它来提供有关扩展版本的信息。
但是,默认情况下,版本字符串不会在 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