XAMPPの設定

トップ > PHP入門 > XAMPPの設定

目次

広告

XAMPPのセキュリティ設定

XAMPPの初期状態はセキュリティが低く設定されています。不正なアクセスを防ぐため、まずはセキュリティの設定を行います。

XAMPPの管理画面で、左側のメニューから『セキュリティ』をクリックすると、以下のように現在のセキュリティが確認できます。ステータスに3つの『要注意』が表示されているのが確認できます。(クリックすると拡大表示されます。)

スクリーンショット

まずはMySQLの管理者パスワードを設定します。画面に表示されている http://localhost/security/xamppsecurity.php のリンクをクリックします。

スクリーンショット

『新しいパスワード』と『新しいパスワード(確認)』欄に設定したいパスワードを入力し、『パスワードを変更しました。』ボタンを押します。(この解説ではパスワードを 1234 と設定したものとして進めますが、実際にはもっと複雑なパスワードを設定することをお勧めします。)

スクリーンショット

『rootのパスワードが変更されました。』と表示されれば成功です。次に、同画面の下にある『XAMPPのディレクトリ制御』でXAMPPの管理画面にもパスワードを設定します。

スクリーンショット

『ユーザ』と『パスワード』欄に設定したいユーザとパスワードを入力し、『安全なXAMPPディレクトリを作成してください。』ボタンを押します。(この解説ではユーザを xampp、パスワードを 1234 と設定したものとして進めますが、実際にはもっと複雑なパスワードを設定することをお勧めします。)

スクリーンショット

『XAMPPのディレクトリ制御が設定されました!』と表示されれば成功です。

さらに念のため、外部からのアクセス自体も禁止します。C:\xampp\apache\conf 内にある httpd.conf をテキストエディタで開き、47行目あたりにある

Listen 80

この部分を以下のように修正します。文字はすべて半角英数字で入力してください。

#Listen 80
Listen 127.0.0.1:80

修正できたらApacheとMySQLを再起動します。まずは『Apache』の右側にある『Stop』ボタンを押してください。サーバーソフトのApacheを停止させます。

スクリーンショット

停止したら、再度Apacheを起動させます。『Apache』の右側にある『Start』ボタンを押してください。これで設定内容がApacheに反映されます。

MySQLも同様に、一旦『Stop』ボタンで停止させ、その後『Start』ボタンで起動してください。これで設定内容がMySQLに反映されます。

スクリーンショット

設定ができたら、再度セキュリティの画面を確認してください。先ほどアクセス制限を設けたため、認証画面が表示されます。先ほどユーザを xampp、パスワードを 1234 と設定したので、ユーザー名とパスワードにそれらの値を入力します。

スクリーンショット

セキュリティが以下のように表示されれば完了です。『要注意』がそれぞれ『安全』に変わっています。

スクリーンショット

PHPの設定

PHPの動作設定を行います。設定しなくても動作しますが、文字化け防止のために設定しておくことをお勧めします。

C:\xampp\php 内にある php.ini をテキストエディタで開き、以下の箇所をそれぞれ修正します。

514行目にある

error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED

この部分を以下のように修正します。(& ~E_NOTICE & ~E_DEPRECATED を削除。)

error_reporting = E_ALL

次に、1774行目にある

;mbstring.language = Japanese

この部分を以下のように修正します。(行頭の ; を削除。)

mbstring.language = Japanese

次に、1780行目にある

;mbstring.internal_encoding = EUC-JP

この部分を以下のように修正します。(行頭の ; を削除し、EUC-JPUTF-8 に修正。)

mbstring.internal_encoding = UTF-8

次に、1784行目にある

;mbstring.http_input = auto

この部分を以下のように修正します。(行頭の ; を削除し、autopass に修正。)

mbstring.http_input = pass

次に、1789行目にある

;mbstring.http_output = SJIS

この部分を以下のように修正します。(行頭の ; を削除し、SJISpass に修正。)

mbstring.http_output = pass

次に、1797行目にある

;mbstring.encoding_translation = Off

この部分を以下のように修正します。(行頭の ; を削除。)

mbstring.encoding_translation = Off

次に、1802行目にある

;mbstring.detect_order = auto

この部分を以下のように修正します。(行頭の ; を削除し、autoUTF-8,SJIS,EUC-JP,JIS,ASCII に修正。)

mbstring.detect_order = UTF-8,SJIS,EUC-JP,JIS,ASCII

次に、1807行目にある

;mbstring.substitute_character = none;

この部分を以下のように修正します。(行頭の ; を削除。)

mbstring.substitute_character = none;

次に、1818行目にある

;mbstring.func_overload = 0

この部分を以下のように修正します。(行頭の ; を削除。)

mbstring.func_overload = 0

次に、1821行目にある

;mbstring.strict_detection = Off

この部分を以下のように修正します。(行頭の ; を削除。)

mbstring.strict_detection = Off

修正できたら、Apacheを再起動します。これで完了です。