XAMPPでPHPを実行する
前回、XAMPPをインストールしました。次は、PHPのテスト環境としてXAMPPを使用してみます。(参考: XAMPPのインストール)
目標
本記事の目標は、XAMPPの設定を行い、PHPの開発環境として使用できるようにすることです。
XAMPPを始める
[警告]XAMPP Control Panelを閉じる前には、モジュールが全て終了していることを確認してください。
方法1 xampp/xampp-control.exeを使う
“xampp/xampp-control.exe”を右クリックするか、スタートメニューの”XAMPP Control Panel”を右クリックして、管理者として実行します。

コントロールパネルの”Start”ボタンをクリックします。
もしモジュールがサービスに追加されている場合は、”Service”チェックボックスにチェックがついています。
*管理者として実行していないと、ここでチェックボックスがチェックされているかどうか見ることができません。

以下の記事では、すべてのモジュールは。サービスとして登録されていないことを想定しています。
“Start”をクリックしてApacheを起動し、localhostにアクセスしてapacheが起動していることを確認してください。



方法2 バッチファイルを使用する
それぞれのアプリケーションを個別に起動するには、xamppディレクトリの中にある以下のバッチファイルを使用します。
xamppxampp_start.exe
xamppxampp_stop.exe
xamppapache_start.bat
xamppapache_stop.bat
mysql_start.bat, mercury_start.bat and filezilla_start.bat
PHPプログラムを実行する
ディレクトリ”xampphtdocs”が、localhostに割り当てられているドキュメントルートです。つまり、localhostにアクセスすると、ここに置いたindex.phpが実行されます。
既存のxampp/htdocs/index.phpを開いてみると、header()関数を使って、localhost/dashboardにリダイレクトされていることが分かります。
<?php if (!empty($_SERVER['HTTPS']) && ('on' == $_SERVER['HTTPS'])) { $uri = 'https://'; } else { $uri = 'http://'; } $uri .= $_SERVER['HTTP_HOST']; header('Location: '.$uri.'/dashboard/'); exit; ?>
1. “test”ディレクトリをxamp/phtdocs内に作成します
ここにテストプログラムを配置していきます。

2. PHPファイルを作成します
今回は、2つのPHPファイルを”test”ディレクトリに作成します。1つは、index.phpで、入力されたデータを送信するページです。2つ目は、posted.phpで、index.phpで入力されたデータを受け取って表示します。
xampp/htdocs/test/index.php
POSTメソッドを使って、入力されたmessageを送信します。fromタグのaction属性は、送信先のURLです。
参考: HTML5タグリファレンス form
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>test</title> </head> <body> <form action="posted.php" method="POST"> <label>Input message:</label> <input type="text" name="message" /> <input type="submit" value="Submit!" /> </form> </body> </html>
xampp/htdocs/test/posted.php
POSTされたデータは、 $_POST[<name>]で受け取ることができます。この場合、inputフォームのname属性をname=”message”としているので、$_POST[“message”]となります。
参考: PHPマニュアル > 外部から来る変数 > HTML フォーム (GET と POST)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>posted</title> </head> <body> <p>Message "<?php echo $_POST["message"] ?> " is posted!</p> </form> </body> </html>
3. ルートのindex.phpのリダイレクト先を変更する
xampp/htdocs/index.php
<?php if (!empty($_SERVER['HTTPS']) && ('on' == $_SERVER['HTTPS'])) { $uri = 'https://'; } else { $uri = 'http://'; } $uri .= $_SERVER['HTTP_HOST']; header('Location: '.$uri.'/test/'); // Change here! exit; ?>
4. localhostにアクセスする
localhostにアクセスしてページがlocalhost/test/にリダイレクトされていることを確認してください。好きなメッセージを入力し、Submit!ボタンをクリックしてみます。

postedページが表示され、入力したメッセージが表示されるはずです。
