API模块版本


API module version

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

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

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!
}