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で実行したもの)
- 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) より小さいとみなされます。
これができるようなので、単純な文字列比較よりも良いみたい。
参考
PHP Warning Illegal string offset 'foo'
PHPschedule2020-02-03
PHP Notice:Undefined indexの対処
PHPschedule2020-01-17
PHP compact関数で宣言していない変数の扱い
PHPschedule2020-01-15