Forum PHP 2017

phpversion

(PHP 4, PHP 5, PHP 7)

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_* で取得可能です。

参考

add a note add a note

User Contributed Notes 4 notes

up
69
cHao
4 years ago
If you're trying to check whether the version of PHP you're running on is sufficient, don't screw around with `strcasecmp` etc.  PHP already has a `version_compare` function, and it's specifically made to compare PHP-style version strings.

<?php
if (version_compare(phpversion(), '5.3.10', '<')) {
   
// php version isn't high enough
}
?>
up
4
burninleo at gmx dot net
11 months ago
Note that the version string returned by phpversion() may include more information than expected: "5.5.9-1ubuntu4.17", for example.
up
14
pavankumar at tutorvista dot com
6 years ago
To know, what are the {php} extensions loaded & version of extensions :

<?php
foreach (get_loaded_extensions() as $i => $ext)
{
   echo
$ext .' => '. phpversion($ext). '<br/>';
}
?>
up
-1
php at stampy dot me
4 months ago
If you cast the output of phpversion() to a float, it will give you the major and minor version parts as a floating point number.

This will be less useful if the minor version number is 10 or above, but for lower version numbers it works nicely.

<?
$ver = (float)phpversion();
if ($ver > 7.0) {
    //do something for php7.1 and above.
} elseif ($ver === 7.0) {
    //do something for php7.0
} else {
    //do something for php5.6 or lower.
}
?>
To Top