CURRICULUM / APPENDIX E
付録E ─ ローカル開発環境の構築ガイド
本編のコードを自分のパソコンで動かすための準備ガイドです。
WindowsならXAMPP、MacならMAMPを使います。
インストールからPHP・MySQLの起動確認、そして予約システムを動かすところまでを一通りカバーします。
この付録のゴール
この付録を終えると、次の状態になります。
- 自分のパソコンでPHPファイルをブラウザから実行できる
- MySQLにデータベースを作成し、テーブルを作れる
- 本編で作ったコード(掲示板や予約システム)をローカルで動かせる
完璧に理解する必要はありません。
「動く環境が手元にある」という状態を作ることが目的です。
細かい設定はあとからいくらでも調べられます。
ローカル開発環境とは
本編で学んだPHPやMySQLは、サーバーの上で動くプログラムです。
普通は、XServerのようなレンタルサーバーにファイルをアップロードして動かします。
でも、コードを1行変えるたびにアップロードするのは大変です。
そこで、自分のパソコンの中に「ミニサーバー」を作ります。
これがローカル開発環境です。
Apache(Webサーバー)、PHP、MySQLの3つがセットになったソフトを入れるだけで、手元でWebアプリが動くようになります。
Windows: XAMPPのセットアップ
1. ダウンロードとインストール
XAMPPの公式サイトにアクセスします。
https://www.apachefriends.org/
トップページにある「XAMPP for Windows」のボタンをクリックし、インストーラーをダウンロードします。
PHPのバージョンは8.2以上を選んでください。本編のコードはPHP 8系を前提にしています。
ダウンロードしたインストーラー(xampp-windows-x64-8.x.x-installer.exe)を実行します。
途中でコンポーネントの選択画面が出ますが、デフォルトのままで大丈夫です。
インストール先もデフォルトの C:\xampp のままにしておくと、後々トラブルが少なくなります。
2. Apache と MySQL を起動する
インストールが終わったら、「XAMPP Control Panel」を開きます。
スタートメニューから「XAMPP」で検索するか、C:\xampp\xampp-control.exe を直接開いてください。
コントロールパネルが開いたら、次の2つの「Start」ボタンを押します。
- Apache ─ Webサーバー(PHPを動かす)
- MySQL ─ データベース
それぞれの名前の横が緑色に変わったら起動成功です。
3. 動作確認
ブラウザを開いて、アドレスバーに次のURLを入力します。
http://localhost/
XAMPPのダッシュボード画面が表示されれば、Apacheは正常に動いています。
次に、PHPが動くかを確認します。
テキストエディタ(メモ帳でもVS Codeでも構いません)で、次の内容のファイルを作ります。
<?php phpinfo();
これを C:\xampp\htdocs\test.php として保存し、ブラウザで次のURLにアクセスします。
http://localhost/test.php
PHPのバージョンや設定が一覧で表示されれば成功です。
確認が済んだら、test.php は削除して構いません。
4. phpMyAdmin で MySQL を確認する
phpMyAdminは、MySQLをブラウザから操作できるツールです。
XAMPPに最初から含まれています。次のURLでアクセスできます。
http://localhost/phpmyadmin/
左側にデータベースの一覧が表示されれば、MySQLも正常に動いています。
5. データベースを作成する
phpMyAdminの上部にある「データベース」タブをクリックします。
「データベースを作成する」という入力欄に、任意のデータベース名(例: code_school)を入力し、照合順序を utf8mb4_general_ci に設定して「作成」ボタンを押します。
これでデータベースの準備は完了です。
本編で出てきたCREATE TABLE文をphpMyAdminの「SQL」タブに貼り付けて実行すれば、テーブルも作れます。
Mac: MAMPのセットアップ
1. ダウンロードとインストール
MAMPの公式サイトにアクセスします。
https://www.mamp.info/
「Free Download」ボタンから、macOS版のインストーラーをダウンロードします。
「MAMP PRO」(有料版)も一緒にインストールされますが、無料の「MAMP」だけで十分です。
ダウンロードした .pkg ファイルを開き、画面の指示に従ってインストールします。
インストール先はデフォルトの /Applications/MAMP のままにしてください。
2. Apache と MySQL を起動する
Finderから「アプリケーション」→「MAMP」→「MAMP」(象のアイコン)を開きます。
MAMP PROではなく、普通のMAMPの方を開いてください。
画面右上の「Start」ボタンを押します。
Apache ServerとMySQL Serverの横の丸印が緑色に変わったら起動成功です。
自動的にブラウザでMAMPのスタートページが開きます。
3. 動作確認
ブラウザで次のURLにアクセスして、MAMPのスタートページが表示されることを確認します。
http://localhost:8888/
MAMPのデフォルトのポート番号は 8888 です。XAMPPとはここが違います。
次に、PHPの動作確認をします。テキストエディタで次の内容のファイルを作ります。
<?php phpinfo();
これを /Applications/MAMP/htdocs/test.php として保存し、ブラウザで次のURLにアクセスします。
http://localhost:8888/test.php
PHPの情報画面が表示されれば成功です。
確認が済んだら、test.php は削除して構いません。
4. phpMyAdmin で MySQL を確認する
MAMPのスタートページから「Tools」→「phpMyAdmin」を選ぶか、次のURLに直接アクセスします。
http://localhost:8888/phpMyAdmin/
左側にデータベースの一覧が表示されれば、MySQLは正常に動いています。
5. データベースを作成する
手順はXAMPPと同じです。
phpMyAdminの「データベース」タブからデータベース名(例: code_school)を入力し、照合順序を utf8mb4_general_ci にして「作成」ボタンを押します。
PHPファイルの置き場所
XAMPPでもMAMPでも、ブラウザからアクセスできるPHPファイルは、決まったフォルダに置く必要があります。
このフォルダを「ドキュメントルート」と呼びます。
- XAMPP (Windows):
C:\xampp\htdocs\ - MAMP (Mac):
/Applications/MAMP/htdocs/
例えば、htdocs の中に hello.php を置けば、次のURLでアクセスできます。
- XAMPP:
http://localhost/hello.php - MAMP:
http://localhost:8888/hello.php
htdocs の中にフォルダを作ることもできます。
htdocs/my_app/index.php なら http://localhost/my_app/ でアクセスできます。
データベースへの接続設定
本編のコードには config.php というファイルがあり、データベースの接続情報が書かれています。
ローカル環境では、この接続情報を次のように変更します。
// ローカル環境用の設定例 // --- XAMPP の場合 --- $dsn = 'mysql:host=localhost;dbname=code_school;charset=utf8mb4'; $user = 'root'; $pass = ''; // XAMPPのデフォルトはパスワード無し // --- MAMP の場合 --- $dsn = 'mysql:host=localhost;port=8889;dbname=code_school;charset=utf8mb4'; $user = 'root'; $pass = 'root'; // MAMPのデフォルトパスワードは root
ポイントは3つです。
- ホスト名は
localhost - ユーザー名はどちらも
root - パスワードはXAMPPが空文字、MAMPが
root
MAMPはさらにポート番号が 8889(MySQLのデフォルト3306ではない)なので、DSNに port=8889 を追加する必要があります。
本編のコードをローカルで動かす
ここでは、Layer 03〜04で作った予約システムを例に、ローカル環境で動かすまでの手順を説明します。
掲示板アプリなど他のコードでも手順は同じです。
1. ファイルを配置する
本編で作成したファイル一式を、ドキュメントルートの中にフォルダごと配置します。
- XAMPP:
C:\xampp\htdocs\reservation\ - MAMP:
/Applications/MAMP/htdocs/reservation/
2. データベースとテーブルを作成する
phpMyAdminを開き、「SQL」タブに本編で出てきたCREATE TABLE文を貼り付けて実行します。
最低限必要なテーブルは、本編の該当章で確認してください。
3. config.php を編集する
config.php(または includes/config.php)を開き、接続情報をローカル環境用に変更します。
具体的な値は、前のセクション「データベースへの接続設定」を参照してください。
4. ブラウザでアクセスする
ブラウザで次のURLにアクセスします。
- XAMPP:
http://localhost/reservation/ - MAMP:
http://localhost:8888/reservation/
画面が表示されて、予約の一覧や登録フォームが動けば成功です。
よくあるトラブルと解決方法
Apache が起動しない(ポートの競合)
「Port 80 in use」というエラーが出る場合、他のソフト(Skype、IISなど)がポート80を使っています。
XAMPPの場合、コントロールパネルの「Config」→「Apache (httpd.conf)」を開き、Listen 80 を Listen 8080 に変更してから再起動します。
この場合、アクセスURLは http://localhost:8080/ になります。
MySQL が起動しない
別のMySQLが既に動いている場合に起こります。
タスクマネージャー(Windows)やアクティビティモニタ(Mac)で、既存のMySQLプロセスを終了してから再度起動してみてください。
画面が真っ白になる
PHPのエラーが発生しているのに、エラー表示が無効になっている場合に起こります。
config.php や対象のPHPファイルの先頭に、次の2行を一時的に追加してみてください。
ini_set('display_errors', '1');
error_reporting(E_ALL);
エラーメッセージが表示されるようになるので、原因がわかります。
原因が解決したら、この2行は削除するか、display_errors を '0' に戻してください。
データベース接続エラー
「Connection refused」「Access denied」のようなエラーが出る場合、config.php の接続情報を確認してください。
よくある原因は次の3つです。
- パスワードが間違っている(XAMPPは空文字、MAMPは
root) - MAMPなのにポート番号(
8889)をDSNに書いていない - データベース名が間違っている
日本語が文字化けする
データベースの照合順序が utf8mb4_general_ci になっていることを確認してください。
また、DSNの末尾に charset=utf8mb4 が付いていることも確認してください。
PHPファイル自体の文字コードもUTF-8で保存されている必要があります。
テキストエディタについて
PHPファイルの編集には、プログラミング向けのテキストエディタを使うのが便利です。
まだ入れていなければ、Visual Studio Code(VS Code)をおすすめします。
無料で、Windows・Mac両方に対応しています。
https://code.visualstudio.com/
インストール後、PHPの拡張機能(「PHP Intelephense」など)を入れると、コードの補完や構文チェックが効くようになります。
ここでは詳しい使い方には踏み込みませんが、「コードを書く道具」として、メモ帳よりもずっと快適に使えます。
まとめ
ローカル開発環境のセットアップは、一度やれば終わりです。
以降は、ファイルを保存してブラウザをリロードするだけで、コードの変更がすぐに反映されます。
アップロードの手間がない分、試行錯誤のスピードが格段に上がります。
環境構築は地味な作業ですが、ここが整っていると、本編の学習がずっとスムーズになります。
うまくいかないときは、この付録の「よくあるトラブル」を見返してみてください。
大抵のことは、接続情報の確認で解決します。