PHP入門 XAMPPによる開発環境のセットアップ

最終更新日

PHPの開発環境である「XAMPP(ザンプ)」のダウンロードからセットアップ、PHP.iniの設定まで解説しています。

1、本家サイトからXAMPPインストーラーをダウンロード

以下のURLにアクセスしWindows版のXAMPPをダウンロードします。

https://www.apachefriends.org/jp/download.html

赤枠のダウンロードボタンをクリックします。

XAMPP

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

アイコン

ダウンロードした「xampp-windows-x64-8.2.12-0-VS16-installer.exe」アイコンをダブルクリックし、インストーラを起動します。

続いて表示される確認ダイアログでは、それぞれ「Yes」ボタンをクリックします。

ダイアログ
「Question」ダイアログ
ダイアログ
「Warning」ダイアログ

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

3、インストールするソフトウェアを選択する

「Next」ボタンをクリック

インストール画面

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

インストール画面

4、インストール先を選択し、インストールを開始する

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

インストール画面
C:\Program Filesは避けます。

5、XAMPP Control Panelの言語を選択します。

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

インストール画面

6、「Ready to Install」ダイアログ

「Next」ボタンをクリックします。

インストール画面

インストール中

インストール画面
Installingダイアログ
インストール画面

「Completing the XAMPP Setup Wizard」ダイアログが表示されます。「Do you want to start the Control Panel now?」(XAMPPコントロールパネルを今すぐ起動しますか)にチェックを入れて「Finish」ボタンをクリックします。

7、コントロールパネルを起動する

インストール終了後にコントロールパネルが起動していない場合は、Windowsのスタート画面から「XAMPP Control Panel」アイコンをクリックすることでも起動できます。

XAMPP Control Panel

8、Apache/MariaDBを起動する

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

XAMPP Control Panel

起動に成功すると、ボタンの表示が「Stop」に変わり、PID(s)やPort(s)欄に数字が表示されます。環境によってはApacheやMariaDBを起動する際に、ファイヤーウォールの警告画面が表示されます。その場合は、そのまま「ブロックを解除する」ボタンをクリックします。

PID(プロセスID)とは、現在のサービスを識別するためのID値です。

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エラーの表示
検証バージョンでのXAMPPでは、date.timezoneパラメーターが2か所に記載されています。既定で「date.timezone=Europe/Berlin」が有効になっている行を書き換えます。

バッファリング処理とは

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 Valuehttpd.confや.htaccessなどで上書きした現在値
Master Valuephp.iniで設定した値
phpinfo
PHPinfo

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

timezone

データベースの設定

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