PHP_VERSION_IDはどのように定義されていますか
3351 ワード
詳細
PHP_VERSION_IDは、php 5から現在のPHPのバージョンを表す整数である.2.7バージョンから使用する、例えば50207は5.2を表す.7.
PHPバージョンに関連するマクロ定義ファイルphpsrc/main/php_version.hの中で、以下のように
注記からファイルphpsrc dir/main/php_version.hはconfigureの後に生成する、以下はconfigureである.inの関連内容:
以上からphpのバージョン情報はconfigure.inで定義された、
120~125行
まずメインバージョン番号PHP_を定義しましたMAJOR_VERSION、サブバージョン番号PHP_MINOR_VERSION、リリースバージョン番号PHP_RELEASE_VERSION、そしてPHP_EXTRA_VERSIONは空です.
PHP_VERSIONは以上のバージョン番号から記号を用いる.」5.6のような一般的なバージョン番号に接続します.24;
PHP_VERSION_IDはPHP_MAJOR_VERSION*10000+PHP_MINOR_VERSION*100+PHP_RELEASE_VERSIONが計算した5桁の整数、例えば50624はphpカーネルや拡張ソースコードでPHP_がよく使われています.VERSION_ID.
127-131行
Makefileにコミット
139-156行
ファイル$phpsrc dir/main/php_を生成version.h
phpカーネル定義のすべての定数:http://php.net/manual/en/reserved.constants.php
記事のアドレス:http://blog.beatzeus.com/?p=449
PHP_VERSION_IDは、php 5から現在のPHPのバージョンを表す整数である.2.7バージョンから使用する、例えば50207は5.2を表す.7.
PHPバージョンに関連するマクロ定義ファイルphpsrc/main/php_version.hの中で、以下のように
// : phpsrc/main/php_version.h
/* automatically generated by configure */
/* edit configure.in to change version number */
#define PHP_MAJOR_VERSION 5
#define PHP_MINOR_VERSION 6
#define PHP_RELEASE_VERSION 24
#define PHP_EXTRA_VERSION ""
#define PHP_VERSION "5.6.24"
#define PHP_VERSION_ID 50624
注記からファイルphpsrc dir/main/php_version.hはconfigureの後に生成する、以下はconfigureである.inの関連内容:
dnl :phpsrcdir/confiugre.in
117 #undef PTHREADS
118 ])
119
120 PHP_MAJOR_VERSION=5
121 PHP_MINOR_VERSION=6
122 PHP_RELEASE_VERSION=24
123 PHP_EXTRA_VERSION=""
124 PHP_VERSION="$PHP_MAJOR_VERSION.$PHP_MINOR_VERSION.$PHP_RELEASE_VERSION$PHP_EXTRA_VERSION"
125 PHP_VERSION_ID=`expr [$]PHP_MAJOR_VERSION \* 10000 + [$]PHP_MINOR_VERSION \* 100 + [$]PHP_RELEASE_VERSION`
126
127 dnl Allow version values to be used in Makefile
128 PHP_SUBST(PHP_MAJOR_VERSION)
129 PHP_SUBST(PHP_MINOR_VERSION)
130 PHP_SUBST(PHP_RELEASE_VERSION)
131 PHP_SUBST(PHP_EXTRA_VERSION)
....
....
139 dnl Setting up the PHP version based on the information above.
140 dnl -------------------------------------------------------------------------
141
142 echo "/* automatically generated by configure */" > php_version.h.new
143 echo "/* edit configure.in to change version number */" >> php_version.h.new
144 echo "#define PHP_MAJOR_VERSION $PHP_MAJOR_VERSION" >> php_version.h.new
145 echo "#define PHP_MINOR_VERSION $PHP_MINOR_VERSION" >> php_version.h.new
146 echo "#define PHP_RELEASE_VERSION $PHP_RELEASE_VERSION" >> php_version.h.new
147 echo "#define PHP_EXTRA_VERSION \"$PHP_EXTRA_VERSION\"" >> php_version.h.new
148 echo "#define PHP_VERSION \"$PHP_VERSION\"" >> php_version.h.new
149 echo "#define PHP_VERSION_ID $PHP_VERSION_ID" >> php_version.h.new
150 cmp php_version.h.new $srcdir/main/php_version.h >/dev/null 2>&1
151 if test $? -ne 0 ; then
152 rm -f $srcdir/main/php_version.h && mv php_version.h.new $srcdir/main/php_version.h && \
153 echo 'Updated main/php_version.h'
154 else
155 rm -f php_version.h.new
156 fi
157
158
以上からphpのバージョン情報はconfigure.inで定義された、
120~125行
まずメインバージョン番号PHP_を定義しましたMAJOR_VERSION、サブバージョン番号PHP_MINOR_VERSION、リリースバージョン番号PHP_RELEASE_VERSION、そしてPHP_EXTRA_VERSIONは空です.
PHP_VERSIONは以上のバージョン番号から記号を用いる.」5.6のような一般的なバージョン番号に接続します.24;
PHP_VERSION_IDはPHP_MAJOR_VERSION*10000+PHP_MINOR_VERSION*100+PHP_RELEASE_VERSIONが計算した5桁の整数、例えば50624はphpカーネルや拡張ソースコードでPHP_がよく使われています.VERSION_ID.
127-131行
Makefileにコミット
139-156行
ファイル$phpsrc dir/main/php_を生成version.h
phpカーネル定義のすべての定数:http://php.net/manual/en/reserved.constants.php
記事のアドレス:http://blog.beatzeus.com/?p=449