phpの様々な情報を出力する「phpinfo」ページを作成して確認する方法です。
phpinfoを作成して表示すれば簡単に「php.ini」の設定値を確認したり、phpの各モジュールがON(Enable)になっているかどうかを確認することができます。
しかし、初心者の人はどこに設置すればよいのか?どうやって開けば良いのか?が分からないことがあると思うので、こちらで手順を詳しくご案内します。
phpinfo()関数を使うので、phpinfoと呼ばれていますがこれは通称です。
この記事の目次
phpinfoの作成方法と確認方法
phpinfoというページを作ることで、サーバーやphpに関する様々な情報を出力させて確認することができますが、そのページの作り方と表示するまでの手順です。
phpを触るなら基本となるページでもありますが、意外と本番環境でphpinfoを作って確認する方法を詳しく解説しているページが少ない気がするので記事にしました。
初心者の方にも出来るだけ分かりやすいように書けたらな~と思います!
「php.ini」や「.user.ini」などのファイルを編集してPHPの仕様変更をした時、
“phpinfoを表示して設定した値が反映されているか確認しましょう!”
とよく言われます。
1度でもphpinfoを作成・表示させたことがある人なら、あぁ~あれね!となるのですが、初めての時はイヤイヤ!作り方は?設置場所は?開き方は?...となります。
ということで、当記事では初心者の方向けに「phpinfo」を作成し、サーバーに上げてから表示・確認するまでの手順を画像付きで詳しく解説します。
phpinfoを作成して表示するまでの作業手順
早速ですが、phpinfoを表示して内容を確認するまでの手順は以下の通りです。
- パソコンで「phpinfo.php」という拡張子がphpのファイルを作る
- 作成した「phpinfo.php」を開いてコードを書く
- サーバー上のブラウザでアクセスできる場所に「phpinfo.php」を設置する
- ブラウザでURLを指定して「phpinfo.php」を開く
- phpinfoが開いたら、phpの各設定値などを確認する
phpinfoというページは、PHPのphpinfo()という関数を実行した結果画面です。
つまり今回は、phpinfo()というコードをサーバーに実行させた結果をブラウザで確認するという作業が目的となります。
ポイント
コードがphpで書かれた「~.php」というファイルをサーバー上にアップロードしたあと、そのファイルにブラウザでアクセスすればコードが実行されます。
ではやり方をじっくり見ていきましょう・w・
画像通りにやってもらえれば多分いけます。簡単!
手順1.phpinfo.phpというファイルを作る
まずは自分のパソコンで「phpinfo.php」というファイルを作成しましょう。
Windowsなら、デスクトップで右クリックして「新規作成>テキストドキュメント」などを押せばOKです。
続いてファイル名を「~.txt」から「phpinfo.php」という名前に変更します。
ポイント
拡張子の変更時に確認が出ても気にせず「phpinfo.php」として下さい。
関連記事
拡張子(.php)が表示されていない時は↓も参考に
【Windows11】ファイルの拡張子(.xxx)を表示する方法。
手順2.phpinfo.phpを開いてコードを書く
「phpinfo.php」というファイルの作成が済んだら、続いてファイルを開いてコードを書き込みます。
「phpinfo.php」を開いて、以下のコードをコピペして保存します。
phpinfo.php
<?php
phpinfo();
?>
これがphpinfoページにphpの色々な情報を出力するコードです。これで準備完了!
後はこれをサーバーにアップロードしてブラウザでアクセスするだけです!
注意ポイント
phpinfoにはサーバー情報を含め、セキュリティー的に良くない情報も出ます。
ここではややこしいので、自分のIPだけに公開する方法は後述します。
手順3.phpinfo.phpをサーバーに上げる
phpinfo()関数を記述した「phpinfo.php」の準備ができたら、続いてphpinfoを表示したいサーバー(自分が使っているサーバー)にこれをアップロードします。
「phpinfo.php」をアップロードするサーバーの場所はどこでも良いですが、基本的にはアクセスしやすいドメインルートに設置するのが良いです。ドメインルートとは「http://example.com/~ココ~」で、以下のようなフォルダの中になると思います。
- public_html
- htdocs
上の2つが主流なので、このフォルダ内に「phpinfo.php」を設置しましょう。
(まれに「www」や「html」や「httpdocs」という名前の場合もあります)
今回、サーバーへのアップロードにはFileZillaというFTPソフトを使いました。
国内のレンタルサーバー会社を使っている場合は、サーバー会社の管理画面からFTPのようにファイルをアップロードすることが出来るツールがあることが殆どなので、FTPソフトが難しいと思う方はサーバー会社のツールも確認してみて下さい!
手順4.phpinfo.phpにアクセスする
自分のサーバーに「phpinfo.php」をアップロードしたら、後は好きなブラウザで「phpinfo.php」にアクセスして開けば、phpinfoのページが表示されます。
あらためて当サイトの場合は、
サーバールート > public_htmlフォルダ > phpinfo.php
という場所にphpinfo.phpがあります。これを開くには以下のURLにアクセスします。
http://example.com/phpinfo.php
「.php」という拡張子の部分までURLで入力するように気を付けて下さい。
phpinfoが開きました!
ここで404などが出てphpinfoが開かない時は、おそらくphpinfoの設置場所にミスがあります。ダメな時は、ドメインルートにあたる場所に「phpinfo.php」を移動するか、ブラウザのURL欄を変更してアクセスできないか試してみて下さい。
手順5.phpinfoページで各設定値を確認する
無事にphpinfoが開いたら、後は目的の設定項目を確認するだけです。
phpinfoは縦に長いページになるので、確認したい項目を見つけるにはページ内検索を使うと早くて良いです。
キーボードの「Ctrl」 + 「F」
でページ内検索を起動して目的の項目を見つけるとGoodです!
目的の項目の確認が済んだら「phpinfo.php」の削除に取りかかりましょう。
phpinfo.phpはサーバー上に残したらダメ!
phpinfoの確認が済んだら、最後にサーバー上から「phpinfo.php」を削除します。
phpinfoにはサーバー構成や、有効なphpモジュールの情報、各ソフトのバージョンなど、セキュリティー的にマズイ情報も出力される点に注意が必要です。
誰でも見れる場所に「phpinfo.php」を置いておいては危険なので、確認が済んだら必ず削除するように気を付けて下さい。
phpinfoにIPでアクセス制限をかける方法
「phpinfo.php」をサーバーに上げて、自分がphpinfoを確認している間に誰かに見られるのが不安!という方は、先ほどの「phpinfo.php」内のコードをもう少し凝ったものに変更することで、IPアドレスで閲覧制限をかけることも可能です。
「phpinfo.php」にIPアドレスで閲覧制限をかけるコードが以下です。
phpinfo.php
<?php
if ($_SERVER['REMOTE_ADDR'] !== 'xxx.xxx.xxx.xxx') die('403 Forbidden');
phpinfo();
?>
上記の「xxx.xxx.xxx.xxx」の所に自分のIPアドレスを入力すればOKです。
試しに該当しないIPアドレスで「phpinfo.php」にアクセスしてみると...
こんな感じでphpinfoが表示される前に処理が中断されるので、セキュリティー的にも安心です。これならphpinfoをじっくり確認できますね。
とはいえ、やはり「phpinfo.php」をサーバー上に放置しておくのはリスクが高いので、IP制限をかけている場合もphpinfoを確認した後は削除するようにしましょう。
phpinfoが表示されない時の確認
phpinfoは当記事の手順通りに進めてもらえれば表示されるはずですが、もしphpinfoが表示されない時は以下のような点を確認してみて下さい。
- 「phpinfo.php」のソースコードにミスはないか?
- 「phpinfo.php」の設置場所は正しいか?
- ブラウザでアクセスしている場所が「phpinfo.php」を置いた場所か?
- サーバーにphpがインストールされているか?
- ファイル/フォルダに閲覧制限はないか?
ソースコードについては記事内のものをコピペして僕が動作確認済みです。
文字コードは関係ないと思いますが「UTF-8」で保存するのが安定です。
一般的に500エラーが出るなら構文エラーでプログラムに問題あり。
403エラーが出たら閲覧禁止。404なら設置場所のミスという感じです。
真っ白ならphp.iniあたりにphpinfoを表示しない設定の記述があるのかも。
当然ですが、サーバーにphpがインストールされていない場合や、「phpinfo.php」の設置場所とブラウザでアクセスする場所(URL)に相違があるとphpinfo()関数が実行されず、phpinfoは表示されません。
まとめ
以上、phpの各情報を詳細に出力してくれるphpinfoページを作成して表示・確認する方法についてでした。phpinfoページというのはあくまで通称で、phpinfo()関数さえ実行できればファイル名は「phpinfo.php」でなくてもOKです。
phpファイルに<?php phpinfo();?>
さえ含まれていればphpinfoが出力できます。
余談ですがphpinfo()はphpで用意されている関数なので、上の画像のようにSSH接続のシェルでも「php -r phpinfo();
」というコマンドを入力すれば実行できます。
ただ、圧倒的に見にくいのでphpinfoページを用意して見る方が良いですね・w・