PHP
バージョン確認

PHP でバージョン番号の比較方法と確認方法(各種)

PHP アプリを作成した際に、特定の PHP バージョン以上で実行/稼働させたい場合の PHP バージョン比較やバージョン確認の方法です。また、xx.xx.xx 形式のバージョン情報であれば PHP に限らず version_compare() 関数で比較することも可能です。

比較

スクリプト内で version_compare関数で比較する

<?php // version_compare() PHP >= 4.1.0

$ver_php_current = phpversion(); // 現在のバージョン (7.0.22)
$ver_php_require = '7.1.10';     // 必要最低バージョン
$ver_operator    = '<';          // より上

if (version_compare($ver_php_current, $ver_php_require, '<')) {
    echo "PHP バージョンが低すぎます。" . PHP_EOL;
    echo "現在のバージョン: " . phpversion() . PHP_EOL;
    echo "必要なバージョン: ${ver_php_require} ${ver_operator}" . PHP_EOL;

    die();
}

// #結果
// PHP バージョンが低すぎます。
// 現在のバージョン: 7.0.22-0ubuntu0.16.04.1
// 必要なバージョン: 7.1.10 <

比較オペレーター(比較演算子)の種類

version_compare($a, $b, $operator)の場合の比較オペレーター。小文字であること。

オペレーター 概要
<, lt $a$bより下
<=, le $a$b以下
>, gt $a$bより上
>=, ge $a$b以上
==, =, eq $a$bと同じ
!=, <>, ne $a$bと異なる

確認

スクリプト内で phpversion 関数から確認する

<?php // >= PHP 4.x.x

echo phpversion(); // 7.0.22-0ubuntu0.16.04.1

スクリプト内で PHP_VERSION 定数から確認する

<?php // >= PHP 5.2.7

echo PHP_VERSION . PHP_EOL;         // 7.0.22-0ubuntu0.16.04.1
echo PHP_MAJOR_VERSION . PHP_EOL;   // 7
echo PHP_MINOR_VERSION . PHP_EOL;   // 0
echo PHP_RELEASE_VERSION . PHP_EOL; // 22
echo PHP_EXTRA_VERSION . PHP_EOL;   // -0ubuntu0.16.04.1
echo PHP_VERSION_ID . PHP_EOL;      // 70022

シェル/ターミナル/コマンドラインから確認する

シェル/ターミナル/コマンドラインでバージョンだけ確認する

$ php -v
PHP 7.1.8 (cli) (built: Aug  7 2017 15:02:45) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies

シェル/ターミナル/コマンドラインで他の情報(phpinfoの内容)も確認する

$ php -r "phpinfo();"
phpinfo()
PHP Version => 7.1.8
//略

Webから確認する

下記ファイルをブラウザから開く。コマンドラインで $ php ./index.php でもよい。

index.php
<?php
phpinfo();