PHPの拡張子は「.php」だ。ただ、実は「.php」以外でも動く。
このページではPHPの基本となる.php拡張子と、.htmlや.phtmlといった拡張子でもPHPプログラムを動かす方法についてお伝えする。
PHP拡張子の表示
ファイル名の末尾には通常、拡張子と呼ばれる識別子が付いている。そのファイルがどんな種類のファイルであるかを示すための記号だ。例えば、「example.html」はhtmlという拡張子で、webページである事を示している。PHPプログラムの拡張子は「.php」だ。
普段はあまり気にしていないかもしれないが、プログラムを作成する上で重要になってくるため、拡張子が表示できているか確認してください。
では簡単なプログラムで試して見る。
php拡張子を使った場合
次のようにsample「.php」というファイルを作ってみる。
sample.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<!DOCTYPE html > <head> <meta charset="utf-8"> <title>サンプル</title> </head> <body> <p>こんにちは。</p> <p> <?php echo "お元気ですか?"; ?> </p> </body> </html> |
上記のファイルを
- httpサーバのドキュメントルート以下
- XAMPPのhtdocs以下
のいずれかに設置する。
そうすると、ブラウザからアクセスすると次のように表示される。
Webサーバはクライアントから要求されたファイルの拡張子に「.php」が付いていることからページ内にPHPプログラムが含まれていることを認識する。そしてPHPプログラムを処理した後の結果をクライアントへ返す。
実際にブラウザに表示されたページのソースを確認すると次のようになっている。ソースを表示するのは、右クリックして「ソースを表示」をクリックしよう。
phpという部分がまったくなくなっているのがわかる。
PHPプログラム部分はもう処理されており、画面に出力される時点ではPHPのプログラムがどのように記述されていたかは分からなくなっている。
html拡張子を使った場合
続いてまったく同じファイルの拡張子を「.php」から「.html」に変更してみよう。拡張子の変更と言っても難しくはない。ファイルの名前を変更する方法とまったく同じだ。最後の「.php」の文字を「.html」に変更すればいいだけだ。
ファイルの中身はまったく同じままで拡張子を「.html」とした場合も試してみる。ブラウザからアクセスすると次のように表示される。
今回は拡張子が「.html」となっているためPHPプログラムが含まれているページであるとWebサーバが認識していない。その為、PHPプログラム部分の処理は行われずそのままクライアントに送信されている。
実際にブラウザに表示されたWebページのソースを確認すると次のようになっている。
HTMLページ内に含まれているPHPのプログラムがサーバ側で処理されずそのままクライアントへ送信されてしまっていることが確認できる。
初心者の方は、まず知っておけば十分だ。この下はこういうこともできるんだ、というのを知っておくだけで十分だろう。
htmlなど他の拡張子でもPHPは動く!
色々な事情で、php拡張子ではなくhtml拡張子でもPHPプログラムを動かしたい、ということがある。
例えばどんなとき?
例えば、あるサイトをPHPを使って便利にしたとしよう。予約フォームがついたとか、カレンダーがついたとか、なんでも構わない。
そのとき、.htmlだった拡張子を.phpに変えなければ行けなくなってしまう。こうすると、URLがすべて変わってしまうため、チラシに載せたサイトへアクセスするためのURLも、SEOに役立っていたリンクの効果などもなくなってしまう。
だから、html拡張子のままPHPを動かせればベストだ。
実施方法
Apacheの設定を変更する必要がある。
/etc/httpd/conf.d/php.conf
や
/etc/httpd.conf
などのファイルがあるはずだ。そこで下記のような記述がある。
AddHandler php5-script .php
これを次のように変更すればいい ↓
AddHandler php5-script .php .html
phpで動く拡張子を登録している形になる。再起動すれば、設定完了だ。
簡単にお伝えだけしておくが、Apacheの詳細な説明はまた別のページで解説をしよう。
まとめ
このページでは、PHP拡張子についてお伝えしてきたが、ご理解いただけただろうか?
詳細に関してもご説明はしたが、基本的にPHPを使う時にはphp拡張子を使うことをオススメする。特に初心者の間は混乱を避けるために、デフォルトの設定を使おう。