【问题标题】:Expose version of extension in phpinfo() output在 phpinfo() 输出中公开扩展版本
【发布时间】:2016-12-15 11:38:27
【问题描述】:

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

#define PHP_MYEXT_VERSION "0.1.0"

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

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

如何在phpinfo()中暴露版本?

【问题讨论】:

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


    【解决方案1】:

    您可以通过在 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
    

    【讨论】:

      猜你喜欢
      • 2012-06-24
      • 1970-01-01
      • 2013-02-22
      • 1970-01-01
      • 2022-11-10
      • 1970-01-01
      • 2011-04-14
      • 2021-10-31
      • 2018-05-02
      相关资源
      最近更新 更多