Выставить версию расширения в выводе phpinfo()

При написании пользовательских расширений для PHP вы обычно определяете строку версии в заголовочном файле вашего расширения, например что-то вроде

#define PHP_MYEXT_VERSION "0.1.0"

Затем PHP будет использовать это для предоставления информации о версии расширения при вызове phpversion('myext') в пользовательском PHP.

Однако строка версии не будет отображаться в выходных данных phpinfo() по умолчанию. Некоторые расширения, такие как ext/json, имеют свою версию, указанную в выводе phpversion() хоть.

Как версия может быть выставлена ​​в phpinfo()?

1 ответ

Решение

Вы можете определить, какая информация отображается для вашего расширения в выходных данных phpinfo() предоставляя PHP_MINFO_FUNCTION функция в вашем файле myext.c

Пример из 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
Другие вопросы по тегам