Function for easy check minimum version of PHP
<?php
function phpMinV($v)
{
$phpV = PHP_VERSION;
if ($phpV[0] >= $v[0]) {
if (empty($v[2]) || $v[2] == '*') {
return true;
} elseif ($phpV[2] >= $v[2]) {
if (empty($v[4]) || $v[4] == '*' || $phpV[4] >= $v[4]) {
return true;
}
}
}
return false;
}
/* ---- Newer than 4 ---- */
if (phpMinV('4')) {
// .....
}
// or
if (phpMinV('4.*')) {
// .....
}
/* ---- Newer than 5.1 ---- */
if (phpMinV('5.1')) {
// .....
}
// or
if (phpMinV('5.1.*')) {
// .....
}
/* ---- Newer than 5.2.3 ---- */
if (phpMinV('5.2.3')) {
// .....
}
?>
phpversion
(PHP 4, PHP 5)
phpversion — 現在の PHP バージョンを取得する
説明
string phpversion
([ string $extension
] )
現在動作中の PHP パーサあるいは拡張モジュールのバージョンを表す文字列を返します。
パラメータ
- extension
-
オプションで指定する拡張モジュール名。
返り値
オプションの extension パラメータが指定されている場合、phpversion() はその拡張モジュールのバージョンを返します。 関連するバージョン情報が存在しない場合、 あるいは拡張モジュールが有効でない場合は FALSE を返します。
例
例1 phpversion() の例
<?php
// たとえば 'Current PHP version: 4.1.1' などと表示します
echo 'Current PHP version: ' . phpversion();
// たとえば '2.0' などと表示します。拡張モジュールが有効でない場合は何も表示しません
echo phpversion('tidy');
?>
例2 PHP_VERSION_ID の例および使用法
<?php
// PHP_VERSION_ID は PHP 5.2.7 以降で使用可能です。
// それより古いバージョンでは、このようにエミュレートします
if(!defined('PHP_VERSION_ID'))
{
$version = explode('.',PHP_VERSION);
define('PHP_VERSION_ID', ($version[0] * 10000 + $version[1] * 100 + $version[2]));
}
// PHP_VERSION_ID は数値として定義されており、数字が大きいほど PHP の
// バージョンが新しいことになります。その定義は、上で使用しているような
// 式となります。
//
// $version_id = $major_version * 10000 + $minor_version * 100 + $release_version;
//
// PHP_VERSION_ID を使えば、その PHP のバージョンで使える機能を調べる
// ことができます。ある機能に対応しているかどうかを調べるために、毎回
// version_compare() を使う必要がなくなります。
//
// たとえば、PHP 5.2.7 より前のバージョンには存在しない定数
// PHP_VERSION_* を、次のように定義することができます。
if(PHP_VERSION_ID < 50207)
{
define('PHP_MAJOR_VERSION', $version[0]);
define('PHP_MINOR_VERSION', $version[1]);
define('PHP_RELEASE_VERSION', $version[2]);
// などなど
}
?>
注意
注意: この情報は、定義済みの定数 PHP_VERSION でも取得可能です。その他のバージョン関連の情報は、定数 PHP_VERSION_* で取得可能です。
参考
- version_compare() - ふたつの "PHP 標準" バージョン番号文字列を比較する
- phpinfo() - いろいろな PHP 情報を出力する
- phpcredits() - PHP に関するクレジットを出力する
- php_logo_guid() - ロゴの guid を取得する
- zend_version() - 現在の Zend Engine のバージョンを取得する
phpversion
Cyrus Hirvi
31-Aug-2009 02:15
31-Aug-2009 02:15
Sam Yong - hellclanner at live dot com
28-Aug-2009 04:48
28-Aug-2009 04:48
Take note that if you pass phpversion() with an empty string, eg.
<?php
echo phpversion('');
?>
It will not return anything, since it cannot find an extension with the name string(0) ''.
bitworks at web dot de
26-Jun-2009 02:31
26-Jun-2009 02:31
to realize if the actual version ist newer than '5.2.10'
simply use:
<?php
if (strnatcmp(phpversion(),'5.2.10') >= 0)
{
# equal or newer
}
else
{
# not sufficiant
}
?>
dmitry DOT seredinov AT gmail DOT com
10-Jan-2009 09:50
10-Jan-2009 09:50
To simple receive a major PHP version value (e.g., 5.2), you can use next:
<?php
// Output below will looks like '5.2', depends to your version
echo floatval(phpversion());
?>
pl DOT baasch AT skycube DOT net
14-Jul-2008 03:17
14-Jul-2008 03:17
In a addition to phpversion,..
if you've got a system like ubuntu or some else, you get
<?php
echo phpversion(); // 5.2.4-2ubuntu5.2
?>
To fix this, use the following:
<?php
echo substr(phpversion(),0,strpos(phpversion(), '-'));
?>
