PHPを学び始めたときに、「PHPファイルを作ったのにブラウザで動かない」「HTMLのようにダブルクリックしても表示されない」と迷うことがあります。
まず大前提として、PHPはブラウザ上で直接実行される言語ではありません。
HTMLやCSS、JavaScriptはブラウザがそのまま読み込んで表示・実行できます。
一方でPHPは、Webサーバー側で実行されるサーバーサイド言語です。
つまり、PHPをブラウザで確認する場合は、正確には次のような仕組みになります。
ブラウザからPHPファイルにアクセスする
↓
WebサーバーがPHPを処理する
↓
PHPの実行結果としてHTMLなどが生成される
↓
その結果がブラウザに表示される
そのため、「PHPをブラウザで実行する」という表現はよく使われますが、正確にはサーバーでPHPを実行し、その結果をブラウザで表示するという意味です。
PHPはブラウザで直接開いても動かない
PHPファイルは、HTMLファイルのようにダブルクリックしてブラウザで開いても、基本的には実行されません。
たとえば、以下のようなPHPファイルを作ったとします。
<?php
echo "こんにちは、PHP!";
このファイルを sample.php として保存し、ダブルクリックしてブラウザで開くと、URLが次のようになることがあります。
file:///C:/Users/yourname/Desktop/sample.php
このように file:// で開いている場合、PHPは実行されません。
PHPを実行するには、次のようにWebサーバー経由でアクセスする必要があります。
http://localhost/sample.php
または、公開サーバー上にアップロードしている場合は、次のようなURLでアクセスします。
https://example.com/sample.php
重要なのは、PHPファイルを直接開くのではなく、Webサーバーを通してアクセスすることです。
PHPをブラウザで表示するために必要なもの
PHPをブラウザで確認するには、基本的に以下の環境が必要です。
Webサーバー
PHP実行環境
PHPファイル
ブラウザ
学習や開発では、自分のパソコン内にローカル環境を作るのが一般的です。
代表的な方法には、次のようなものがあります。
| 方法 | 特徴 |
|---|---|
| XAMPP | 初心者でも導入しやすい。ApacheやPHPなどをまとめて使える |
| MAMP | Macユーザーに人気。Windows版もある |
| PHP内蔵サーバー | PHPだけで簡単にローカル実行できる |
| Docker | 実務向け。環境をコードで管理しやすい |
| レンタルサーバー | Webサイトとして公開する場合に使う |
初心者であれば、まずは XAMPP または PHP内蔵サーバー を使う方法がわかりやすいです。
XAMPPでPHPをブラウザ実行する方法
XAMPPとは?
XAMPPは、PHPをローカル環境で実行するためによく使われる開発環境です。
XAMPPには、主に以下のようなソフトウェアが含まれています。
| ソフトウェア | 役割 |
|---|---|
| Apache | Webサーバー |
| MariaDB | データベース |
| PHP | PHP実行環境 |
| Perl | スクリプト言語 |
| phpMyAdmin | データベースをブラウザで管理するツール |
PHPを学習する場合、XAMPPを使えばApacheやPHPを個別に細かく設定しなくても、比較的簡単にローカル環境を作ることができます。
XAMPPでPHPを実行する手順
XAMPPでPHPをブラウザに表示する流れは、以下のとおりです。
1. XAMPPをインストールする
2. Apacheを起動する
3. htdocsフォルダにPHPファイルを置く
4. ブラウザで http://localhost/... にアクセスする
順番に見ていきましょう。
Apacheを起動する
XAMPPをインストールしたら、XAMPP Control Panelを開きます。
その中にある Apache の横の Start ボタンをクリックします。
Apacheが起動すると、自分のパソコン内でWebサーバーが動いている状態になります。
ブラウザで次のURLにアクセスして、XAMPPの画面が表示されればApacheは正常に動いています。
http://localhost/
PHPファイルをhtdocsに置く
XAMPPでは、PHPファイルをApacheのドキュメントルートに置きます。
Windowsの場合、一般的には次の場所です。
C:\xampp\htdocs
Macの場合は、XAMPPのインストール先にある htdocs フォルダを確認してください。
環境によって場所が異なることがあります。
たとえば、Windowsで次のようにファイルを作ります。
C:\xampp\htdocs\sample.php
ファイルの中身は以下のようにします。
<?php
echo "PHPが動きました!";
PHPだけのファイルでは、最後の ?> は省略されることが多いです。
閉じタグの後ろに余計な空白や改行が入ると、予期しない出力につながる場合があるためです。
ブラウザでPHPファイルにアクセスする
ファイルを配置したら、ブラウザで次のURLを開きます。
http://localhost/sample.php
画面に次のように表示されれば成功です。
PHPが動きました!
このとき、ブラウザに表示されているのはPHPコードそのものではありません。
PHPがサーバー側で実行され、echo によって出力された文字列がブラウザに返されています。
PHP内蔵サーバーで実行する方法
PHP内蔵サーバーとは?
PHPには、学習用・開発用として使える簡易Webサーバー機能があります。
XAMPPやMAMPを使わなくても、PHPがインストールされていれば、コマンドでローカルサーバーを起動できます。
ただし、PHP内蔵サーバーはあくまで開発・学習用です。
本番公開用のWebサーバーとして使うものではありません。
PHP内蔵サーバーの使い方
まず、PHPファイルを置くフォルダを作ります。
例として、以下のようなフォルダを作成します。
php-test
その中に index.php を作ります。
<?php
echo "PHP内蔵サーバーで実行中です";
次に、ターミナルまたはコマンドプロンプトで、そのフォルダに移動します。
cd php-test
そして、次のコマンドを実行します。
php -S localhost:8000
これで、ローカルサーバーが起動します。
ブラウザで次のURLにアクセスします。
http://localhost:8000
画面に以下のように表示されれば成功です。
PHP内蔵サーバーで実行中です
ファイル名を指定してアクセスする場合
同じフォルダ内に sample.php というファイルを作った場合は、次のようにアクセスします。
http://localhost:8000/sample.php
たとえば、sample.php の中身が以下の場合、
<?php
echo "sample.phpを表示しています";
ブラウザには次のように表示されます。
sample.phpを表示しています
レンタルサーバーでPHPを実行する方法
公開サイトでPHPを使う場合
PHPを使ったWebページをインターネット上に公開したい場合は、PHPに対応したレンタルサーバーを使います。
多くのレンタルサーバーでは、PHPが最初から利用できるように設定されています。
PHPを公開サーバーで実行する基本的な流れは以下です。
1. PHP対応のレンタルサーバーを契約する
2. FTPやファイルマネージャーでPHPファイルをアップロードする
3. ブラウザでURLにアクセスする
4. サーバー側でPHPが実行される
5. 実行結果がブラウザに表示される
PHPファイルをアップロードする例
たとえば、レンタルサーバーの公開フォルダに以下のファイルをアップロードします。
public_html/sample.php
中身は次のようにします。
<?php
echo "レンタルサーバーでPHPを実行しています";
その後、ブラウザで次のようにアクセスします。
https://example.com/sample.php
画面に以下のように表示されれば、PHPがサーバー上で実行されています。
レンタルサーバーでPHPを実行しています
HTMLの中にPHPを書く方法
PHPはHTMLと組み合わせて使える
PHPは、HTMLの中に埋め込んで使うことができます。
たとえば、次のような index.php を作ります。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>PHPテスト</title>
</head>
<body>
<h1>PHPのテストページ</h1>
<p>
<?php echo "現在PHPが実行されています。"; ?>
</p>
</body>
</html>
このファイルをWebサーバー経由で開くと、PHP部分が実行されます。
ブラウザに表示される内容は、以下のようなイメージです。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>PHPテスト</title>
</head>
<body>
<h1>PHPのテストページ</h1>
<p>
現在PHPが実行されています。
</p>
</body>
</html>
ブラウザには、<?php echo ... ?> というPHPコードそのものではなく、PHPが出力した結果が届きます。
PHPの閉じタグについて
HTMLの中にPHPを書く場合は、PHP部分を閉じるために ?> を使います。
<p><?php echo "こんにちは"; ?></p>
一方で、PHPだけで構成されるファイルでは、末尾の ?> は省略されることが多いです。
<?php
echo "こんにちは";
どちらも間違いではありませんが、使い分けとしては次のように考えるとわかりやすいです。
| 書き方 | 閉じタグ |
|---|---|
| HTML内にPHPを埋め込む場合 | 必要になることが多い |
| PHPだけのファイル | 省略されることが多い |
PHP・HTML・CSS・JavaScriptの違い
実行される場所が違う
PHPを理解するには、HTML・CSS・JavaScriptとの違いを押さえておくとわかりやすいです。
| 種類 | 実行・処理される場所 | 主な役割 |
|---|---|---|
| HTML | ブラウザ | ページの構造を作る |
| CSS | ブラウザ | デザインを整える |
| JavaScript | 主にブラウザ | ページに動きを加える |
| PHP | サーバー | HTML生成、フォーム処理、DB連携などを行う |
HTMLは、ブラウザがそのまま解釈します。
<h1>こんにちは</h1>
CSSも、ブラウザが読み込んでデザインを反映します。
h1 {
color: red;
}
JavaScriptも、多くの場合はブラウザ上で実行されます。
<script>
alert("こんにちは");
</script>
一方でPHPは、ブラウザではなくサーバー側で実行されます。
<?php
echo "こんにちは";
この違いを理解しておくと、「PHPファイルをダブルクリックしても動かない」という理由がわかりやすくなります。
PHPが正しく動いているか確認する方法
phpinfoで確認する
PHP環境が正しく動いているか確認したい場合は、phpinfo() を使う方法があります。
たとえば、phpinfo.php というファイルを作成します。
<?php
phpinfo();
このファイルをサーバー上に置き、ブラウザでアクセスします。
XAMPPの場合は、たとえば以下のURLです。
http://localhost/phpinfo.php
PHPのバージョンや設定情報が表示されれば、PHPが正常に動作しています。
phpinfoを公開したままにしない
phpinfo() は便利ですが、サーバーの設定情報が多く表示されます。
本番環境で公開したままにすると、サーバー構成や設定情報を第三者に見られる可能性があります。
そのため、確認が終わったら phpinfo.php は削除するのがおすすめです。
PHPで現在時刻を表示する例
date関数を使う
PHPがサーバー側で実行されていることを確認するには、現在時刻を表示する例がわかりやすいです。
<?php
date_default_timezone_set('Asia/Tokyo');
echo date('Y年m月d日 H時i分s秒');
このファイルを time.php として保存し、ブラウザでアクセスします。
http://localhost/time.php
ブラウザを更新すると、PHPが再実行され、表示される時刻が変わります。
タイムゾーンに注意する
PHPで時刻を表示する場合、サーバーのタイムゾーン設定によって表示される時刻が変わることがあります。
日本時間で表示したい場合は、学習用コードでは以下のように書くとわかりやすいです。
date_default_timezone_set('Asia/Tokyo');
本番環境では、PHPファイル内で毎回設定するのではなく、php.ini などの設定ファイルでタイムゾーンを指定する場合もあります。
フォーム送信でPHPを実行する例
HTMLフォームを作る
PHPは、お問い合わせフォームやログインフォームなどでもよく使われます。
たとえば、以下のようなフォームを作ります。
<form action="result.php" method="post">
<label for="username">お名前:</label>
<input type="text" id="username" name="username">
<button type="submit">送信</button>
</form>
このフォームでは、入力された値が result.php に送信されます。
PHPでフォームの値を受け取る
送信先の result.php では、次のように値を受け取れます。
<?php
$name = $_POST['username'] ?? '';
if ($name === '') {
echo "お名前が入力されていません。";
exit;
}
echo "こんにちは、" . htmlspecialchars($name, ENT_QUOTES, 'UTF-8') . "さん";
ここでは、$_POST['username'] ?? '' によって、値が送信されていない場合でもエラーになりにくいようにしています。
また、ユーザーが入力した内容を画面に表示する場合は、htmlspecialchars() を使ってエスケープしています。
htmlspecialchars($name, ENT_QUOTES, 'UTF-8')
これにより、入力内容にHTMLタグやスクリプトが含まれていた場合でも、そのままHTMLとして実行されにくくなります。
フォーム処理では、ユーザー入力をそのまま出力しないことが重要です。
WordPressでPHPを実行する場合
WordPressはPHPで作られている
WordPressはPHPで作られているCMSです。
そのため、WordPressのテーマやプラグインではPHPが使われます。
たとえば、クラシックテーマのテンプレートファイルでは、次のようなPHPコードがよく使われます。
<?php the_title(); ?>
<?php the_content(); ?>
これらは、投稿タイトルや本文を表示するためのWordPress関数です。
投稿本文にPHPを書いても通常は実行されない
WordPressでは、テーマファイルやプラグイン内ではPHPが実行されます。
しかし、投稿本文や固定ページ本文に次のようにPHPを書いても、通常はPHPとして実行されません。
<?php echo "テスト"; ?>
WordPressでPHPを使う場所は、基本的に以下のように考えるとよいです。
| 場所 | PHP実行 |
|---|---|
| テーマファイル | 実行される |
| 子テーマのテンプレート | 実行される |
| functions.php | 実行される |
| 自作プラグイン | 実行される |
| 投稿本文 | 通常は実行されない |
| 固定ページ本文 | 通常は実行されない |
投稿本文や固定ページ内でPHPを実行するプラグインもありますが、セキュリティや保守性の面で注意が必要です。
ブロックテーマでは構成が異なる
WordPressには、クラシックテーマとブロックテーマがあります。
クラシックテーマでは、index.php や single.php などのPHPテンプレートが使われます。
一方、ブロックテーマでは index.html などのHTMLテンプレートが使われる場合があります。
ただし、WordPress本体や functions.php、プラグインではPHPが使われます。
そのため、WordPressでPHPを学ぶ場合は、まず以下の違いを理解しておくとよいです。
| 種類 | 主なテンプレート |
|---|---|
| クラシックテーマ | PHPファイル |
| ブロックテーマ | HTMLテンプレートが中心 |
| プラグイン | PHPファイル |
| functions.php | PHPファイル |
PHPをブラウザで実行できないときの原因
ファイルをダブルクリックして開いている
PHPファイルをダブルクリックして開いている場合、URLが file:// になっている可能性があります。
file:///C:/Users/yourname/Desktop/sample.php
この状態ではPHPは実行されません。
正しくは、Webサーバー経由でアクセスします。
http://localhost/sample.php
または、XAMPPの htdocs 内にフォルダを作った場合は、次のようにアクセスします。
http://localhost/フォルダ名/sample.php
Apacheが起動していない
XAMPPやMAMPを使っている場合、Apacheが起動していないとPHPは実行できません。
ブラウザで次のようなエラーが表示される場合があります。
このサイトにアクセスできません
localhost で接続が拒否されました
この場合は、XAMPPやMAMPの管理画面からApacheを起動してください。
PHPファイルの置き場所が間違っている
XAMPPを使っている場合、PHPファイルは基本的に htdocs に置きます。
Windowsの場合の例は以下です。
C:\xampp\htdocs\sample.php
この場合、ブラウザでは次のURLにアクセスします。
http://localhost/sample.php
一方で、デスクトップなどにPHPファイルを置いただけでは、Webサーバー経由でアクセスできません。
C:\Users\yourname\Desktop\sample.php
PHPファイルは、Webサーバーが参照できる場所に置く必要があります。
拡張子が.htmlになっている
PHPを書いていても、ファイルの拡張子が .html になっていると、通常の設定ではPHPとして処理されません。
sample.html
PHPを実行したい場合は、基本的に .php という拡張子にします。
sample.php
サーバー設定によっては .html 内のPHPを処理することもできますが、初心者は .php を使うのが基本です。
PHPの開始タグを書き忘れている
PHPコードを書く場合は、基本的に <?php から始めます。
正しい例は以下です。
<?php
echo "Hello";
HTML内にPHPを書く場合も、PHP部分は <?php ... ?> で囲みます。
<p><?php echo "こんにちは"; ?></p>
次のように、PHP開始タグを書かずにコードだけを書いても、PHPとしては実行されません。
echo "Hello";
URLのポート番号が違う
PHP内蔵サーバーを使う場合は、起動時に指定したポート番号でアクセスする必要があります。
たとえば、次のように起動した場合、
php -S localhost:8000
ブラウザでは以下にアクセスします。
http://localhost:8000
http://localhost/ だけではアクセス先が異なるため、表示されない場合があります。
サーバー設定でPHPが処理されていない
本来、PHPファイルにアクセスすると、WebサーバーがPHPを実行して結果を返します。
しかし、サーバー設定が間違っていると、PHPコードがそのまま表示されたり、ファイルがダウンロードされたりする場合があります。
この状態は危険です。
特に本番環境でPHPコードがそのまま見えてしまうと、データベース接続情報やパスワードなどが漏れる可能性があります。
PHPが正しく処理されているか、必ず確認しましょう。
PHPを安全に実行するための注意点
本番環境ではエラー表示に注意する
学習中は、PHPのエラーが画面に表示されると原因を見つけやすくなります。
しかし、本番環境でエラー内容をそのまま表示すると、サーバーのパスや設定情報が見えてしまう可能性があります。
開発環境ではエラーを表示し、本番環境ではログに記録する、という使い分けが大切です。
phpinfoを公開し続けない
phpinfo() はPHPの設定確認に便利ですが、本番サイトに置いたままにするのは避けましょう。
確認が終わったら、ファイルを削除するのがおすすめです。
ユーザー入力はそのまま表示しない
フォームや検索機能などでユーザーが入力した値を画面に表示する場合は、必ずエスケープ処理を行います。
たとえば、HTMLに表示する場合は htmlspecialchars() を使います。
echo htmlspecialchars($value, ENT_QUOTES, 'UTF-8');
これにより、意図しないHTMLやスクリプトの実行を防ぎやすくなります。
パスワードやAPIキーを直接書きすぎない
PHPファイル内にデータベースのパスワードやAPIキーを書くことがあります。
ただし、公開ディレクトリに重要な情報をそのまま置くと、設定ミスや漏えい時にリスクがあります。
実務では、環境変数や設定ファイルを使い、公開範囲にも注意する必要があります。
初心者におすすめのPHP実行手順
XAMPPを使う場合
初心者がPHPをブラウザで確認するなら、まずはXAMPPを使う方法がわかりやすいです。
手順は以下です。
1. XAMPPをインストールする
2. XAMPP Control PanelでApacheを起動する
3. htdocsにindex.phpを作る
4. ブラウザで http://localhost/index.php を開く
5. PHPの実行結果を確認する
最初に作るファイルは、以下のような簡単な内容で十分です。
<?php
echo "PHPが動きました!";
このファイルを index.php として保存し、以下のURLでアクセスします。
http://localhost/index.php
画面に次のように表示されれば成功です。
PHPが動きました!
PHP内蔵サーバーを使う場合
PHPがインストールされている場合は、内蔵サーバーを使う方法も簡単です。
php -S localhost:8000
その後、ブラウザで以下にアクセスします。
http://localhost:8000
ただし、PHP内蔵サーバーは開発・学習用です。
Webサイトを公開する本番環境では、ApacheやNginxなどのWebサーバー、またはPHP対応のレンタルサーバーを使いましょう。
まとめ
PHPをブラウザで確認するには、PHPファイルをそのままブラウザで開くのではなく、Webサーバー経由でアクセスする必要があります。
PHPはブラウザ上で直接実行されるのではなく、サーバー側で実行されます。
そして、PHPの実行結果として生成されたHTMLやテキストがブラウザに返されます。
押さえておきたいポイントは以下です。
| ポイント | 内容 |
|---|---|
| PHPはサーバー側で実行される | ブラウザで直接実行されるわけではない |
file:// では実行されない | http://localhost/... でアクセスする |
| ローカル環境が必要 | XAMPP、MAMP、PHP内蔵サーバーなどを使う |
拡張子は基本的に .php | .html では通常PHPとして処理されない |
| 実行結果がブラウザに表示される | PHPコードそのものではなく、出力結果が返る |
| 内蔵サーバーは開発・学習用 | 本番公開には使わない |
| 本番環境ではセキュリティに注意 | エラー表示、phpinfo、ユーザー入力の扱いに注意する |
初心者におすすめなのは、まず XAMPPでApacheを起動し、htdocs に index.php を置いて、http://localhost/index.php で確認する方法です。
この流れを理解できれば、PHPがどこで実行され、ブラウザには何が表示されるのかがわかりやすくなります。
以上、PHPをブラウザで実行する方法についてでした。
最後までお読みいただき、ありがとうございました。









