PHP入門 XAMPPによる開発環境のセットアップ
PHPの開発環境である「XAMPP(ザンプ)」のダウンロードからセットアップ、PHP.iniの設定まで解説しています。
1、本家サイトからXAMPPインストーラーをダウンロード
以下のURLにアクセスしWindows版のXAMPPをダウンロードします。
https://www.apachefriends.org/jp/download.html
赤枠のダウンロードボタンをクリックします。

2、インストーラを起動する

ダウンロードした「xampp-windows-x64-8.2.12-0-VS16-installer.exe」アイコンをダブルクリックし、インストーラを起動します。
続いて表示される確認ダイアログでは、それぞれ「Yes」ボタンをクリックします。


「Question」ダイアログは、アンチウィルスのソフトが動作している場合、インストールに時間がかかるかもしれないが続けてよいかという確認ダイアログ。「Warning」ダイアログは、ユーザーアカウント制御が有効である場合、機能の一部に制約がでるかもしれないので、XAMPPを「C:\Program Files」フォルダにインストールしないでくださいという警告です。
3、インストールするソフトウェアを選択する
「Next」ボタンをクリック

「Next」ボタンをクリック(Select Componentsダイアログ)

4、インストール先を選択し、インストールを開始する
[Installation folder]ダイアログで、インストール先を選びます。ここでは「E:\xampp」とします。[next]ボタンをクリックします。

5、XAMPP Control Panelの言語を選択します。
ここでは、Language(言語)を選択して、Nextボタンをクリックします。

6、「Ready to Install」ダイアログ
「Next」ボタンをクリックします。

インストール中


「Completing the XAMPP Setup Wizard」ダイアログが表示されます。「Do you want to start the Control Panel now?」(XAMPPコントロールパネルを今すぐ起動しますか)にチェックを入れて「Finish」ボタンをクリックします。
7、コントロールパネルを起動する
インストール終了後にコントロールパネルが起動していない場合は、Windowsのスタート画面から「XAMPP Control Panel」アイコンをクリックすることでも起動できます。

8、Apache/MariaDBを起動する
ApacheとMariaDBを起動します。「Apache」「MySQL」の右横にある「Start」ボタンをクリックします。

起動に成功すると、ボタンの表示が「Stop」に変わり、PID(s)やPort(s)欄に数字が表示されます。環境によってはApacheやMariaDBを起動する際に、ファイヤーウォールの警告画面が表示されます。その場合は、そのまま「ブロックを解除する」ボタンをクリックします。
PHPの設定
1、php.iniを編集する
php.iniは、PHPの標準的な設定ファイルです。「C:\xampp\php」フォルダに設定されています。基本的なパラメータについては既に設定済みですが、開発環境で設定しておいたほうがよい設定を記述します。
php.iniの設定項目
編集内容 | 概要 |
---|---|
output_buffering = 4096 | バッファリング処理の有効化(バッファーサイズ) |
error_reporting = E_ALL | エラーの出力レベル |
default_charset = “UTF-8” | 既定の文字コード |
date.timezone = Asia/Tokyo | 既定のタイムゾーン |
display_errors = On | エラーの表示 |
バッファリング処理とは
PHPでの処理結果をいったん専用の領域に蓄積しておき、処理がすべて完了したあとで出力する仕組みです。バッファリング処理を有効にすることで、出力のオーバーヘッドを軽減できるだけでなく、出力結果全体に対して圧縮や暗号化、コード変換の処理などを施すことができるようになります。(XAMPPではすでに有効になっています)
display_errorsパラメータ
画面にエラーメッセージを表示するかどうか決めるものです。Windows環境ではすでに有効になっていますが、macOSでは無効です。開発時には有効にします。
2、phpinfoで設定の変更を確認する
php.iniを変更した場合は、必ずApacheを再起動する必要があります。Apacheを再起動するには、コントロールパネルからサービスを停止してから、再度開始します。Apacheを再起動したら、ダッシュボードを起動します。
コントロールパネルの「Apache」右横の「Admin」ボタンをクリックします。

ダッシュボードからは、右上のPHPinfoリンクをクリックします。

PHPinfo
phpinfoは、PHPの現在の設定状況を確認するためのユーティリティです。php.iniで設定した内容が正しく認識されているか、意図したライブラリが読み込まれているか、PHPが正常に動作しているか確認するために利用します。画面を下にスクロールすれば、設定パラメータ一覧を確認できます。php.iniでの設定内容を確認したいならば、Master Valueに注目します。
項目 | 概要 |
---|---|
Directive | 設定パラメータの名前 |
Local Value | httpd.confや.htaccessなどで上書きした現在値 |
Master Value | php.iniで設定した値 |

上記で設定したdate.timezoneパラメータが「Asia/Tokyo」になっていることが確認できます。

データベースの設定
1、環境変数PATHを設定
MariaDBクライアント「MariaDB Monitor」やパッケージ管理ツール「Comoser」などを起動するために、環境変数を設定します。
環境変数を設定するには、コントロールパネル→システム→システムの詳細設定をクリックします。

環境変数ボタンをクリックします。

環境変数名の編集ウィンドウが開きます。システム環境変数からPathをクリックします。その後、編集ボタンをクリックします。

新規ボタン(❶)をクリックします。リスト下部が編集可能状態になるので、「xampp」のパスを入力します。最後にOKボタン(❸)をクリックします。

2、rootユーザーのパスワードを変更する
VSCodeメニューバーから[表示]→[ターミナル]を開き、次のコマンドを実行します。rootユーザーのパスワードを入力します。※ここでは「test」と入力しています。
>./mysqladmin -u root password
New password: *****
Confirm new password: *****
3、サンプルデータベースを作成する
PS c:\xampp\mysql\bin> ./mysql -u root -p
Enter password: ****
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 47
Server version: 10.4.32-MariaDB mariadb.org binary distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> CREATE DATABASE phptest CHARACTER SET utf8;
Query OK, 1 row affected (0.001 sec)
MariaDB [(none)]> use phptest;
Database changed
MariaDB [phptest]>
4、データベースアクセス用の新規ユーザーを設定する
管理用ユーザーrootを日常のデータベースアクセスで使用するのは、セキュリティ観点から好ましくないため、接続専用のユーザーを作成します。ここでは、ユーザー名:testuser、パスワード:testで新規に作成します。
MariaDB [phptest]> GRANT ALL PRIVILEGES ON testuser.* TO testuser@localhost IDENTIFIED BY 'test';
Query OK, 0 rows affected (0.023 sec)
MariaDB [phptest]> exit