Xamppの初期設定

Xamppの初期設定について紹介します。

※2021/01/15 追記
不適切な表現を修正しました。

##作業環境
OS：Windows 10
エディション：HOME
バージョン：2004
Xampp：バージョン7.4.6

※Xamppのインストール方法はこちらで解説しています。
[【環境構築】Windows10にXAMMPをインストールする方法](https://qiita.com/neneta0921/items/46b2b974ecc6075acb3c)

##php.iniの設定を変更する
![202005282156.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643170/fcf9cbfc-afa2-78f4-c2f7-07146480de95.png)
「Cドライブ」→「xampp」→「php」を開きます。設定を変更する前に「php.ini」をコピーして、「php.ini.org」などと書いてバックアップをしておきます。
###1.日本語化けを防ぐ
「php.ini」を開きます。
####「mbstring.substitute_character」
「mbstring.substitute_character」で検索すると、下記のような記述が見つかります。

```php.ini
; substitute_character used when character cannot be converted
; one from another
; http://php.net/mbstring.substitute-character
;mbstring.substitute_character = none
```

>「mbstring.substitute_character」は無効な文字があった場合に代わりに表示する文字を指定します。今回はデフォルトの値のまま無効な文字は何も表示しない設定の「none」としておきます。

引用元：[php.iniファイルの確認と修正](https://www.adminweb.jp/xampp/php/index2.html)

一番下の行はコメントアウトされていて無効になっているので、下記のようにコメントを解除して、無効な文字は何も表示しない設定に変更します。

```php.ini
mbstring.substitute_character = none
```

![202005282252.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643170/5f738b12-d7f5-e4d1-9782-ad72b842a255.png)

####「mbstring.func_overload」
「mbstring.func_overload」で検索すると、下記のような記述が見つかります。

```php.ini
; overload(replace) single byte functions by mbstring functions.
; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),
; etc. Possible values are 0,1,2,4 or combination of them.
; For example, 7 for overload everything.
; 0: No overload
; 1: Overload mail() function
; 2: Overload str*() functions
; 4: Overload ereg*() functions
; http://php.net/mbstring.func-overload
; mbstring.func_overload = 0
```

>「mbstring.func_overload」はシングルバイト対応の関数をマルチバイト対応の関数でオーバーロードするどうかの設定です。自動でオーバーロードされると予期せぬ不具合が発生することもありますのでオーバーロードしない「0」としておきます。

引用元：[php.iniファイルの確認と修正](https://www.adminweb.jp/xampp/php/index2.html)

先程と同様に、一番下の行はコメントアウトされていて無効になっているので、下記のようにコメントを解除して、オーバーロードをしない設定に変更します。

```php.ini
mbstring.func_overload = 0
```

![202005282256.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643170/61743185-57b6-20a2-3588-b0bb75862205.png)

###2.「Notice」のエラーを非表示にする
PHPのエラーには色々ありますが、「Notice」は「通知」という意味の英単語で、あまり重要ではないエラーです。「Notice」のエラー表示が出ると不便なので、表示をオフにします。
「error_reporting」と検索すると、下の行が見つかります。

```php.ini
error_reporting=E_ALL & ~E_DEPRECATED & ~E_STRICT
```

この行を以下のように変更すると、「Notice」のエラーが非表示になります。

```php.ini
error_reporting=E_ALL & ~E_NOTICE & ~E_STRICT
```

![202005282316.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643170/eb9d0634-129c-940f-543f-d131ae33c70f.png)

##MySQLのパスワードを設定する
Xamppはデフォルトだとパスワードが設定されていないので、パスワードを設定します。

###1.phpMyAdminでパスワードを設定する
![202005262122.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643170/b85b3eb5-eab1-02c2-f800-e7a6523250be.png)
Xamppを起動し、「Apache」と「MySQL」を起動し、「MySQL」の横の「Admin」を選びます。

![202005282323.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643170/7eca23d4-53b2-33ee-a002-4baae31f88fd.png)
「MySQL」が起動するので、「ユーザーアカウント」を選びます。

![202005282325.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643170/4cc0c964-0e58-a49b-2246-22c2af0928fa.png)
「localhost」の「特権を編集」を選びます。

![202005282326.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643170/4f01b953-bd90-fc60-b3de-6ec17a1f8569.png)
「パスワードを変更する」を選びます。

![202005282327.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643170/51713b8d-4f6f-6f95-3645-bf1192ebd3a4.png)
パスワードを2回入力し、右下の「実行」を選びます。

![202005282328.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643170/7069f94f-065c-d7ff-bb0e-7aa571ef4f96.png)
「'root'@'localhost' のパスワードは正しく変更されました。」と表示されれば、パスワードの設定が完了です。
Xamppを再起動し、「Apache」と「MySQL」を起動し、「MySQL」の横の「Admin」を選ぶと、以下の画面が表示され、パスワードが設定できたことが確認できます。

![202005282338.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643170/344ba963-af86-32cc-497c-bd9a812b3d2c.png)

###2.「config.inc.php」にパスワードを追記
![202005282342.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643170/ee41d98b-224c-2421-e8ab-a781d41adf46.png)
「Apache」→「Config」→「phpMyAdmin(config.inc.php)」を選びます。

![202005282343.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643170/f6273aee-b408-47c8-26ff-36a530fc0ca1.png)
上記の部分に先程設定したパスワードを追記します。
「Apache」と「MySQL」を起動し、「MySQL」の横の「Admin」を選ぶと、以下の画面が表示され、ログインできるようになります。
![202005282344.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643170/c1feeb56-4c14-b4fa-e1f4-7361dda5ce1f.png)


以上、Xamppの初期設定についてご紹介しました。


##参考サイト
[php.iniファイルの確認と修正](https://www.adminweb.jp/xampp/php/index2.html)

[XAMPPのmysqlのrootにパスワードを設定する方法](https://kekaku.addisteria.com/wp/20181129053402)