schedule2019-03-26

PHPのバージョン確認できるコード

PHPのバージョンはコマンドだけでなくコードでも確認できます。

以下、環境はxamppのPHP5.6で動作確認した。

コマンド php -v

先にコマンドでの確認方法を示す。

$ php -v
PHP 5.6.36 (cli) (built: Apr 25 2018 16:45:32)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    with Xdebug v2.2.5, Copyright (c) 2002-2014, by Derick Rethans

user@MYCOMPUTER c:\xampp

phpinfo()

対応バージョン:PHP 4, PHP 5, PHP 7

現在の PHP の状態に関する、多くの情報を出力します。

<?php
phpinfo();

出力をブラウザで確認すると以下のように見やすい。(Windows上のxamppで実行したもの)

phpinfo

  • OS
  • PHP のバージョン
  • WEBサーバーのPHP実行方式
  • PHP コンパイルオプションと拡張機能、

など、たくさんの情報が出てくる。

phpversion()

対応バージョン:PHP 4, PHP 5, PHP 7

現在の PHP バージョンを取得する。 バージョンの数字だけ返ってくるので、以下のように書くとわかりやすい。

<?php
echo "php version : " . phpversion();
// php version : 5.6.36

version_compare()

対応バージョン:PHP 4 >= 4.1.0, PHP 5, PHP 7

ふたつの "PHP 標準" バージョン番号文字列を比較する関数も用意されていた。 使う用途はあるのか?

<?php
$PHP_VERSION = phpversion();

if (version_compare($PHP_VERSION, '7.0.0') >= 0) {
    echo '7.0.0 より新しいバージョンの PHP を使っています。バージョンは ' . $PHP_VERSION . " です。\n";
}

else if (version_compare($PHP_VERSION, '5.3.0') >= 0) {
    echo '5.3.0 より新しいバージョンの PHP を使っています。バージョンは ' . $PHP_VERSION . " です。\n";
}

else if (version_compare($PHP_VERSION, '5.0.0', '>=')) {
    echo '5.0.0 より新しいバージョンの PHP を使っています。バージョンは ' . $PHP_VERSION . " です。\n";
}

else if (version_compare($PHP_VERSION, '5.0.0', '<')) {
    echo 'まだ PHP 4 です。バージョンは ' . $PHP_VERSION . " です。\n";
}
?>
// 5.3.0 より新しいバージョンの PHP を使っています。バージョンは 5.6.36 です。

プレリリース版 (たとえば 5.3.0-dev など) は、それに対応する正式版 (5.3.0) より小さいとみなされます。

これができるようなので、単純な文字列比較よりも良いみたい。

参考