[PHP] インストールされているPHPのバージョン判別について

汎用的なプログラム(ライブラリ等)を組む際には、場合によっては、
PHPのバージョンが異なっても同様の動作をするように、バージョンごとに違うコードを実行させなければいけない。

※PHP4と5では変更点が多く、互換性が失われている部分が存在するため

このため、サーバにインストールされているPHPのバージョンを取得し、判別する必要がある。

PHPのメジャーバージョンとマイナーバージョンを定数として定義する参考ソース
<?php
$var = explode('.',PHP_VERSION);
// PHPメジャーバージョン
define("PHP_MAJOR_VERSION",$var[0]);
// PHPマイナーバージョン
define("PHP_MINOR_VERSION",$var[1]);

if ( PHP_MAJOR_VERSION == '5' ) {
    // PHP5の場合の処理
} elseif ( PHP_MAJOR_VERSION == '4' ) {
    // PHP4の場合の処理
}
?>

※上記例ではユーザ定義定数としてメジャーバージョンとマイナーバージョンを取得しているが、
PHP 5.3.0 以降では同名の定数(PHP_MAJOR_VERSION、PHP_MAJOR_VERSION)がシステム定義定数として利用可能である。

尚、参考ソース中の PHP_VERSION はシステム定義定数で、PHPのバージョン番号が定義されている。

version_compare 関数

version_compare 関数を使用することでバージョンの比較を行うことができる。

version_compare 関数を使用したバージョン判別の参考ソース
<?php
// PHP 4.4またはPHP 5.2以上で実行
if (version_compare(PHP_VERSION, '4.4', '>') && version_compare(PHP_VERSION, '5.0', '<')) {
    require_once('code_for_php4.php');
} else if (version_compare(PHP_VERSION, '5.2', '>=')) {
    require_once('code_for_php5.php');
} else {
    // それ以外は実行停止
    die('You need PHP 5.2 or later');
}
?>

トラックバックURL

http://mashimonator.weblike.jp/mt/mt-tb.cgi/19

コメント投稿フォーム