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();