API模块版本

时间:2011-12-01 15:13:06

标签: php php-extension

当我在C中构建PHP模块扩展时,我怎么知道我正在处理的PHP的“短”版本号? (5.4,5.3,5.2,5.x,......)

ZEND_MODULE_API_NO仅依赖于YYYYMMDD之类的格式(例如:20060613)!?

1 个答案:

答案 0 :(得分:1)

Zend Engine为此目的在php_version.h标题中定义了一些宏:

#define PHP_MAJOR_VERSION 5
#define PHP_MINOR_VERSION 3
#define PHP_RELEASE_VERSION 3
#define PHP_EXTRA_VERSION "-1ubuntu9.7"
#define PHP_VERSION "5.3.3-1ubuntu9.7"
#define PHP_VERSION_ID 50303

例如,如果要检查扩展程序是否在5.3上运行,则执行以下操作:

if (PHP_VERSION_ID < 50300) {
    // PHP 5.2 or before!
}