Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【PHP8.x】phpinfo()関数の使い方

phpinfo関数の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

phpinfo関数は、現在のPHP環境に関する広範な情報をWebブラウザ上に表示する関数です。この関数を実行すると、PHPのバージョン、使用しているOSやコンパイラなどのビルド情報、ApacheなどのWebサーバーの情報、ロードされているPHP拡張モジュールとその設定、PHP設定ファイル(php.ini)の内容、環境変数、そしてPHPライセンス情報など、非常に多岐にわたる詳細な情報が一覧形式で出力されます。

主に、システム開発者がPHP環境の設定内容を確認したり、問題が発生した際にデバッグ情報を収集したりする目的で利用されます。例えば、特定のPHP拡張モジュールが正しくロードされているか、またはphp.iniで設定したメモリ制限などの値が意図通りに適用されているかなどを手軽に確認することができます。

ただし、phpinfo関数が出力する情報には、サーバーのファイルパス、データベース接続情報の一部、PHPの実行ユーザー名など、潜在的にセキュリティ上のリスクとなる機密情報が含まれる可能性があります。そのため、インターネットに公開されている本番環境のサーバーでは、安易にphpinfo関数を使用したファイルを配置したり、実行結果を放置したりすることは強く推奨されません。本番環境で一時的に使用する必要がある場合は、情報確認後すぐにそのファイルを削除するなど、厳重なセキュリティ対策を講じることが不可欠です。

この関数は、PHPの初期設定や環境依存の問題を特定する上で非常に強力なツールですが、その情報公開の危険性を十分に理解した上で慎重に扱うことが求められます。

構文(syntax)

1<?php
2phpinfo();
3?>

引数(parameters)

int $flags = INFO_ALL

  • int $flags = INFO_ALL: 出力する情報を制御するための整数。デフォルトはINFO_ALLで、全ての情報を出力します。

戻り値(return)

bool

phpinfo関数は、PHPの実行環境に関する情報をHTML形式で出力します。戻り値は常にTRUEです。

サンプルコード

PHPの環境情報をコマンドラインで表示する

1<?php
2
3/**
4 * PHPの環境情報を表示するスクリプトです。
5 *
6 * このスクリプトは、PHPの設定、コンパイルオプション、拡張機能など、
7 * 詳細な環境情報を表示するために使用されます。
8 * 通常、Webサーバー経由でブラウザで確認されますが、
9 * コマンドラインからも実行できます。
10 *
11 * 実行方法:
12 * コマンドラインで `php your_script_name.php` のように実行してください。
13 * (例: ファイル名を `info.php` とした場合、`php info.php`)
14 *
15 * phpinfo()関数は、デフォルトで全ての情報をHTML形式で出力します。
16 * そのため、コマンドラインで実行すると、大量のHTMLタグを含むテキストが表示されます。
17 *
18 * @return bool phpinfo関数の実行結果 (通常は常にtrue)
19 */
20function displayPhpInfoCommandline(): bool
21{
22    // phpinfo()関数を呼び出し、PHPの全ての環境情報を出力します。
23    // 引数を省略した場合、定数 INFO_ALL がデフォルトとなり、
24    // 全ての情報(設定、モジュール、環境変数など)が表示されます。
25    return phpinfo();
26}
27
28// 関数を実行し、PHPの環境情報を表示します。
29displayPhpInfoCommandline();
30
31?>

PHPのphpinfo()関数は、現在動作しているPHPの詳細な環境情報を表示するための関数です。PHPの設定項目、コンパイル時のオプション、ロードされている拡張機能、関連する環境変数など、多岐にわたる情報を一覧で確認することができます。これは、PHP環境の確認やトラブルシューティングを行う際に非常に有用です。

この関数は通常、Webサーバー経由でWebブラウザに表示されることが一般的ですが、本サンプルコードのようにコマンドラインからも実行可能です。コマンドラインで実行する際は、php スクリプト名.phpのように入力します。phpinfo()関数はデフォルトでHTML形式の情報を出力するため、コマンドラインで実行すると、ブラウザで見るような整形された画面ではなく、大量のHTMLタグを含んだテキストとして表示されます。

引数$flagsは、表示する情報の種類を制御する整数値です。引数を省略した場合、全ての情報が表示されるINFO_ALLがデフォルト値として適用されます。戻り値はbool型で、関数が正常に実行されればtrueを返しますが、通常は常にtrueを返します。システムエンジニアを目指す上で、PHP環境を正確に把握するために不可欠な関数ですので、ぜひ活用してください。

このスクリプトはPHPの環境情報を表示しますが、コマンドラインで実行するとHTML形式の大量なテキストが出力されるため、非常に読みにくくなります。本来はWebサーバー経由でブラウザからアクセスし、整形された情報として確認することが一般的です。phpinfo()関数はPHPの詳しい設定情報を開示するため、セキュリティ上のリスクを伴います。そのため、本番環境のWebサーバーにこのスクリプトを配置したり、インターネットに公開したりすることは絶対に避けてください。デバッグや開発環境での情報確認に限定して利用することをおすすめします。

phpinfo()でPHP環境情報を表示する

1<?php
2
3/**
4 * PHPの環境設定情報を表示します。
5 *
6 * phpinfo()関数は、PHPの設定、ビルドオプション、有効なエクステンション、
7 * サーバー情報、PHPバージョン、PHPの実行時設定など、広範な情報を
8 * HTML形式で出力します。主にデバッグや環境確認のために使用されます。
9 *
10 * @param int $flags 表示する情報の種類を指定します。デフォルトは INFO_ALL で全ての情報を表示します。
11 *                   例: INFO_CREDITS, INFO_MODULES, INFO_CONFIGURATION など。
12 * @return bool 常に true を返します。
13 */
14phpinfo();

phpinfo()関数は、PHPが動作している現在の環境設定に関する詳細な情報を、整形されたHTMLページとして出力します。この関数を実行すると、PHPのバージョン、サーバー情報、読み込まれている設定ファイル(php.ini)の場所、有効になっている拡張機能(モジュール)の一覧、その他PHPの動作に関連する様々な設定値などをまとめて確認できます。主に、開発環境を構築した際の設定確認や、プログラムが期待通りに動作しない原因を調査するデバッグ目的で広く利用されます。

引数 $flags を使うと、表示する情報の種類を絞り込むことができます。例えば、モジュールに関する情報だけを見たい場合は INFO_MODULES を指定します。引数を何も指定せずに phpinfo() と呼び出した場合は、デフォルトですべての情報を意味する INFO_ALL が適用されます。この関数の戻り値は常に true(ブール値)となり、処理が成功したことを示します。出力内容にはサーバーの機密情報が含まれる可能性があるため、運用中のWebサイトで安易に公開しないよう注意が必要です。

phpinfo()関数は、PHPの環境設定に関する詳細な情報を画面に出力するため、デバッグ時に非常に便利です。しかし、この情報にはサーバーの設定やバージョンなど、セキュリティ上重要な情報が多く含まれています。そのため、誰でもアクセスできる本番環境でこの関数を実行したままにすると、攻撃者にシステムの脆弱性を知られる原因となり大変危険です。開発時の環境確認にのみ使用し、確認後は必ずそのコードを削除してください。また、この関数は情報を直接HTMLとして出力するため、戻り値を変数に代入して利用するものではない点にも注意が必要です。

PHP設定情報をコマンドラインで表示する

1<?php
2
3/**
4 * PHPの現在の設定情報を表示します。
5 * コマンドラインからこのスクリプトを実行すると、
6 * テキスト形式で詳細なPHP情報が出力されます。
7 * 例: php your_script_name.php
8 */
9phpinfo();
10

PHPのphpinfo()関数は、現在のPHP環境に関する非常に詳細な設定情報を表示するために使用されます。この関数は、PHPのバージョン、ビルド情報、サーバー情報、PHPの設定項目(php.iniの値など)、ロードされているモジュール、環境変数など、多岐にわたる重要な情報を提供します。

この関数は$flagsという整数の引数を受け取りますが、これは表示する情報の種類を制御するために使われます。例えば、特定のカテゴリの情報だけを表示するように指定できます。引数を省略した場合、デフォルト値としてINFO_ALLが適用され、利用可能なすべての詳細情報が出力されます。関数の実行が成功した場合はtrue、失敗した場合はfalseが戻り値として返されます。

提供されたサンプルコードでは、引数なしでphpinfo()関数を呼び出しています。このスクリプトを「php your_script_name.php」のようにコマンドラインから実行すると、現在のPHP環境のあらゆる設定情報がテキスト形式で画面に出力されます。これは、開発中の環境設定を迅速に確認したり、PHPに関する問題発生時に設定状況を調査したりする際に非常に役立つコマンドです。

このサンプルコードで利用しているphpinfo()関数は、PHPの設定情報を詳細に表示するため、本番環境のWebサーバーで実行すると、セキュリティ上問題となる可能性があります。PHPのバージョンや設定パスなど機密情報を含む場合があるため、公開サーバーには絶対に配置しないでください。主に開発環境でのPHP環境の確認やデバッグ用途に限定して利用しましょう。コマンドラインから実行した場合、出力はテキスト形式ですが、Webサーバー経由で実行するとHTML形式で表示されます。この出力形式の違いを理解し、実行環境に応じて安全かつ正しく利用することが重要です。

PHP設定情報を表示するphpinfo()

1<?php
2
3/**
4 * PHPの設定情報を表示するサンプルスクリプトです。
5 *
6 * このスクリプトは、PHPのバージョン、設定、拡張機能、環境変数など、
7 * 詳細な情報をHTML形式でブラウザに出力します。
8 *
9 * 【phpinfoが表示されない場合の確認ポイント】
10 * 1. このファイルの拡張子が `.php` であることを確認してください(例: `info.php`)。
11 * 2. このファイルをWebサーバーの公開ディレクトリ(例: `htdocs`, `public_html`)に配置し、
12 *    Webブラウザから正しいURLでアクセスしているか確認してください。
13 * 3. Webサーバー(Apache, Nginxなど)とPHPが正しく動作しているか確認してください。
14 * 4. サーバーのPHP設定(`php.ini`など)で `phpinfo()` 関数の実行が
15 *    セキュリティ上の理由で無効化されていないか確認してください。
16 */
17
18// phpinfo() 関数を呼び出し、PHPのすべての設定情報を表示します。
19// この関数は直接Webブラウザに出力を行うため、echoなどの出力文は不要です。
20// 戻り値は通常利用しませんが、関数が実行されたかどうかを示すboolean値です。
21phpinfo();
22
23?>

PHPのphpinfo()関数は、Webサーバー上で動作しているPHPの詳細な設定情報を表示するためのものです。このサンプルコードを実行すると、PHPのバージョン、設定項目、利用可能な拡張機能、環境変数など、非常に多くの情報がHTML形式でWebブラウザに直接出力されます。

引数$flagsは、表示する情報の種類を制御するために使用されます。この引数を省略すると、デフォルトでINFO_ALLが指定され、PHPのすべての設定情報が表示されます。戻り値は真偽値(bool)ですが、この関数は直接ブラウザに結果を出力するため、通常はこの戻り値を利用することはありません。

もしphpinfoの情報がWebブラウザに表示されない場合は、いくつかの点をご確認ください。まず、作成したファイルの拡張子が.phpであることを確認し、Webサーバーの公開ディレクトリに正しく配置されているか、そしてWebブラウザから正しいURLでアクセスしているかを確かめてください。さらに、Webサーバー(ApacheやNginxなど)とPHPが正常に動作しているか、またサーバーのPHP設定ファイル(php.iniなど)において、このphpinfo()関数の実行がセキュリティ上の理由で無効化されていないかも重要な確認ポイントとなります。

phpinfo() 関数は、PHPの環境情報をHTML形式でブラウザに直接出力するため、別途echoなどの出力文は不要です。もし表示されない場合は、まずファイルの拡張子が.phpであることを確認し、Webサーバーの公開ディレクトリに配置して正しいURLでアクセスしているかをご確認ください。WebサーバーとPHPが正常に動作しているかも重要なポイントです。また、セキュリティ上の理由からphp.iniなどの設定でphpinfo()の実行が制限されている場合がありますので、併せて確認してください。この関数はサーバーの詳細設定情報を表示するため、開発環境での利用に限定し、公開サーバーには絶対に配置せず、確認後は速やかに削除することが安全な利用に繋がります。

関連コンテンツ

関連プログラミング言語