【PHP8.x】phpversion関数の使い方
phpversion関数の使い方について、初心者にもわかりやすく解説します。
基本的な使い方
phpversion関数は、現在実行されているPHPのバージョン情報、または特定のPHPエクステンション(拡張モジュール)のバージョン情報を取得する関数です。この関数は、ご自身の作成したプログラムが特定のPHP環境で正しく動作するかどうかを確認したい場合や、実行環境の情報を把握したい場合に利用します。
引数を指定せずにphpversion()と呼び出すと、現在動作しているPHPのフルバージョン番号が文字列として返されます。例えば、「8.2.0」といった形式のバージョン文字列が取得できます。これにより、スクリプトがどのPHPバージョン上で実行されているかを簡単に判別することが可能です。
また、引数として特定のPHPエクステンションの名前(例えば、"curl"や"gd"など)を文字列で渡すと、そのエクステンションのバージョン番号が文字列として返されます。例えば、phpversion("curl")と記述すると、CURLエクステンションのバージョン情報が取得できます。もし指定したエクステンションが見つからない場合や、そのエクステンションにバージョン情報がない場合は、論理値のfalseが戻り値となります。
この関数は、PHPアプリケーションの互換性を確認したり、利用しているエクステンションのバージョンをチェックしたりする際に、基本的ながらも重要な情報を提供します。デバッグや環境構築時において、システムエンジニアがPHPの実行環境を正確に把握するために活用できる関数です。
構文(syntax)
1phpversion(?string $extension = null)
引数(parameters)
?string $extension = null
- ?string $extension = null: PHPのバージョン情報を取得したい拡張モジュール名を指定します。省略すると、PHP自体のバージョンが取得されます。
戻り値(return)
string|false
PHPのバージョン番号を文字列で返します。PHPのインストールに失敗している場合はfalseを返します。
サンプルコード
PHPバージョンを取得する
1<?php 2 3// 実行中のPHPのバージョンを出力します。 4// phpversion() 関数は、引数を指定しない場合、PHP本体のバージョン文字列を返します。 5// 通常、この関数はPHPのバージョン文字列を返しますが、失敗した場合は false を返します。 6echo "PHPのバージョン: " . phpversion() . PHP_EOL; 7 8// 特定の拡張機能のバージョンを知りたい場合は、引数に拡張機能名を指定します。 9// 例: 'mysqli' 拡張機能のバージョン 10// echo "MySQLi拡張機能のバージョン: " . phpversion('mysqli') . PHP_EOL; 11 12?>
このサンプルコードは、phpversion() 関数を使って現在実行されているPHPのバージョン情報を取得し、画面に出力するものです。
phpversion() は、PHP環境に関するバージョン情報を調べるための関数です。この関数は、引数の有無によって動作が変わります。
引数を何も指定せずに phpversion() と呼び出すと、PHP本体のバージョン番号が文字列として返されます。サンプルコードではこの使い方をしており、取得したバージョン文字列を echo で表示しています。
一方、特定のPHP拡張機能のバージョンを知りたい場合は、引数としてその拡張機能の名前を文字列で渡します。例えば phpversion('mysqli') と記述すると、mysqli 拡張機能のバージョンを取得できます。
この関数の戻り値は、成功した場合はバージョン番号の文字列ですが、引数で指定した拡張機能が存在しないなど、バージョンが取得できなかった場合には false という特別な値が返されます。これにより、プログラムの実行環境に必要な機能やバージョンが備わっているかを確認する際に役立ちます。
phpversion()関数は、引数で指定した拡張機能が存在しない場合やバージョン情報を取得できない場合に、文字列ではなく false を返します。false を echo で直接出力すると画面には何も表示されないため、エラーに気づきにくい点に注意が必要です。より安全に利用するには、一度変数に結果を代入し、if 文などで false でないことを確認してから文字列として扱うことを推奨します。この一手間により、拡張機能が無効な環境でもプログラムが意図せず停止したり、空の情報を表示したりすることを防げ、コードの安定性が向上します。