MacにPHP環境を（再）構築する ＆ Webサーバー：Apacheの設定をする

# やりたいこと
MacにPHP環境を構築する。Macには始めからPHPがインストールされているが、任意のバージョンを入れたい。[この記事](https://qiita.com/P__act2_tech/items/69a5b94ead8ee3edbc7e) でAmazon Linux 2にphp7.4をインストールしたので、自分のMac PCにphp7.4.Xをインストールしたい。

#やったこと

##現在のバージョンを確認
とりあえず今入っているphpのバージョンを確認する。

```
$ php -v
PHP 7.X.X (cli) (built: Jun 12 2020 00:04:10) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.X.X, Copyright (c), by Zend Technologies
```

# Homebrewをupgrade
本題とは直接関係ありませんが、Homebrewをupgradeします。Homebrewのインストールが済んでいない方は[こちら](https://brew.sh/index_ja.html)から。

```
$ sudo brew upgrade
```

##PHP7.Xを検索
Homebrewを使ってインストールする。まずは現在インストールできるphpのバージョンを確認する。
Homebrewのインストールが済んでいない方は[こちら](https://brew.sh/index_ja.html)から。

```
$ brew search php@7
==> Formulae
php@7.2                             php@7.3                        php@7.4
```

##PHP7.4をインストール
Homebrewを使ってphp7.4をインストールできることを確認できたので、実際にインストールする。

```
$ sudo brew install php@7.4
```

##PHPのPATHを設定
環境変数にインストールしたPHPのPATHを設定する。

```
$ sudo echo 'export PATH="/usr/local/opt/php@7.4/bin:$PATH"' >> ~/.bash_profile
$ sudo echo 'export PATH="/usr/local/opt/php@7.4/sbin:$PATH"' >> ~/.bash_profile
```
`php@7.4`の部分（２箇所）は、適宜インストールしたいバージョンに置き換えてください。

##PHPを起動
```
$ brew services start php
```
再起動後は一度ターミナルを閉じないといけないらしい。

##再度バージョンを確認する

ターミナルを再起動し、バージョンを確認する。

```
$ php -v
PHP 7.4.7 (cli) (built: Jun 12 2020 00:04:10) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.7, Copyright (c), by Zend Technologies
```
php7.4.7が入りました。めでたし。

##Apacheの設定ファイル： httpd.conf を更新
PHPをlocalhostで使うために、Macに標準インストールされているApacheにPHPの設定を行う。
はじめに、/etc/apache2/ 配下にあるhttpd.confファイルを更新する。

```
$ cp /etc/apache2/httpd.conf /etc/apache2/httpd.default.conf
$ sudo vim /etc/apache2/httpd.conf
```

ずらっーーーーーーといろいろ書かれたテキストファイルが開かれる。
このページを読んでいる方は自分のような初学者がほとんどだと思うので、ここで必要最低限のvimの使い方も書いときます。
ベテランの方にはくどく感じられると思うけど、まぁこのページ読まんよね(´・ω・`)
vimを開くとコマンドモードになっているので、

```
/php7_module [ENTER]
```
と入力する（[ENTER]はキー）。`/文字列`は"文字列"を検索するコマンド。
`\#LoadModule php7_module 略...`が出てくるので、次に `i`を入力する。 `i`は挿入モードに入るコマンド。
出てきた次の行に１行追加する。

```httpd.conf
#LoadModule php7_module libexec/apache2/libphp7.so　<-この行の下に
LoadModule php7_module /usr/local/Cellar/php/7.4.7/lib/httpd/modules/libphp7.so <- この行を追記
```

`php7_module`と`7.4.7`と`libphp7`は自分の環境にインストールされているphpのバージョンに置き換えてください。

次に、`[ESC]`キーを押して、コマンドモードに戻る。

```
/dir_module [ENTER]
```

`<IfModule dir_module>`が出てくるので、`i`を入力し、挿入モードへ。出てきた次の行に追記する。

```httpd.conf
<IfModule dir_module>
    DirectoryIndex index.php index.html <- index.phpを追加
</IfModule>
```

次に、`[ESC]`->`/mime_module [ENTER]`->`i`と進む。
`<IfModule mime_module>`が出てくるので、この項目の最下行にスクロールし、１行追加する。

```httpd.conf
<IfModule mime_module>
    ~~~略~~~
    #AddOutputFilter INCLUDES .shtml <-この行の下に
    AddType application/x-httpd-php .php <- この行を追記
</IfModule>
```
続いて、このファイル（httpd.conf）の最下行までスクロールし、以下３行を追加する。

```httpd.conf
<IfModule php7_module>
PHPINIDir /usr/local/etc/php/7.4/
</IfModule>
```
`php7`と`7.4`は自分の環境にインストールされているphpのバージョンに置き換えてください。
次に、`[ESC]`->`ZZ`と進む。`ZZ`は上書き保存し、vimを終了するコマンド。

長かったですね。。これでApacheの設定ファイルの更新は終わりです。あともうちょっと！

##Apacheを再起動
設定を反映するために、Apacheを再起動する。

```
$ sudo apachectl restart
```

##正しく動くか確認
ローカル環境のデフォルトのドキュメントルート /Library/WebServer/Documents/ 配下にテストファイルを置く。

```
$ cd /Library/WebServer/Documents
$ vim phpinfo.php
```

もうvimは使えますね。挿入モードに入り、以下を記述する。

``` phpinfo.php
<?php
 
phpinfo();
 
?>
```
コマンドモードに戻り、上書き保存し、vimを終了する。
最後に、ブラウザのURL欄に `localhost/phpinfo.php`を入力し、ドヤ顔でエンターを押すとインストールされているphpの情報のページが表示されます。めでたしめでたし！

ここまで上手く行けば、あとは、/Library/WebServer/Documents/配下にphpファイルを置いて、ブラウザで`localhost/<file name>.php`にアクセスすれば確認できる！！！やったね！！！！！

#参考
こちらのサイトを参考にさせていただきました。ありがとうございました。

- PHPのバージョンを7.4にアップデートする：https://qiita.com/tana08/items/046cba8e23d32599ee4a
- （社内新卒・PHPビギナー向け）MacでPHP7開発環境を構築しよう！：http://yebisupress.dac.co.jp/2018/05/22/lets_setup_php7_on_mac/
- よく使う Vim のコマンドまとめ：https://qiita.com/hide/items/5bfe5b322872c61a6896
- 【初心者向け】viでの文字列の検索方法を一通り：https://eng-entrance.com/linux-vi-search#i-2