LoginSignup
1
1

More than 5 years have passed since last update.

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

Last updated at Posted at 2018-01-26

PHP アプリを作成した際の外部ライブラリなど、特定のバージョン以上で実行/稼働させたい場合のバージョン比較PHP のバージョン確認の方法です。

version_compare() 関数は PHP のバージョンに限らずxx.xx.xx 形式のバージョン情報であれば比較することが可能です。

比較

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

アプリケーションのバージョン・チェック
<?php
$ver_app_current = $someapp->version(); // 現在のバージョン (6.0.15)
$ver_app_require = '6.1.10';            // 必要最低バージョン
$ver_operator    = '<';                 // より上

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

    die();
}

// #結果
// APP バージョンが低すぎます。
// 現在のバージョン: 6.0.15-RC0
// 必要なバージョン: 6.1.10 <

もちろん PHP のバージョン・チェックにも使えます。

PHPバージョン・チェック
<?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, $ver_operator)) {
    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();
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1