macでHomebrewを使ってPHPをインストールする

## なぜPHPコマンドのセットアップが必要か

MontereryOS以降のmacなどでは、デフォルトではPHPはインストールされない仕様へと変更されました。

しかし、phpを使用したフレームワークでの制作などで、phpコマンドを使用するシーンは存在します。そういった場合には、自分でphpコマンドを使用できるようにセットアップする必要があります。

本項では、Homebrewというパッケージ管理ソフトを使用し、phpコマンドを使用できるようにセットアップを行っていきます。


## Homebrewインストールの前に…
お使いのMacが **M1チップ** であった場合、Homebrewのインストールが正常に行われない場合があります。
まずは、M1チップかどうかの確認しましょう。

手順：
1. 　デスクトップ左上のAppleマークのアイコンより **「この Mac について」** をクリック
2. 　表示された情報より、IntelかM1チップかを確認する。

#### M1チップであった場合
以下のリンクより手順を参照し、 **ターミナル** を使用する際は **Rosetta** が有効になるように設定してください。

https://support.apple.com/ja-jp/HT211861
引用元：apple公式サイト

:::note warn
もし、 **Rosetta** そのものがインストールされていない場合は、インストール作業を行いましょう。
:::

## Homebrewインストール

それでは、ソフトのパッケージ管理ができるツールの「Homebrew」をインストールします。

下記のサイトの「インストール」からコマンドをコピーし、コマンドライン上で実行してください。
[Homebrew](https://brew.sh/index_ja "macOS（またはLinux）用パッケージマネージャー — Homebrew")
![Homebrewインストールページ](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2318398/c3eef077-bdfe-6ba8-3614-53a0097fa3a3.png)


:::note info
Homebrewインストールに  **Xcode**  のインストールを求められる場合があります、その時は一緒にインストールしましょう。
:::

:::note warn
Xcodeはソフトのデータ容量が30GB前後あるので、wifi環境でインストールを行いましょう。
:::

実行が終わったら、下の画像を見て下さい。

![homebrew Runさせる箇所2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2318398/71751065-57b7-940b-7ba0-9e0d39fd07ff.png)


<font color="Red">赤枠</font>で囲われている箇所を見ると「Next steps: -Run these　…　」という言葉があります。
つまり、「次の作業として、ターミナルを使ってパス通しをして下さい」という事です。
通す内容は、<font color="Green">緑線</font>で示した部分です。

ご自身の画面と見比べて、もし<font color="Red">赤枠</font>のような文言が出現している場合は、<font color="Green">緑線</font>の部分をコピーし、下の画面のように実行してターミナルに反映させましょう！

![homebrewパス通し後.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2318398/a72c263e-1e35-7da8-5c0b-15e048ab35c9.png)

実行を行い、特にエラーなどが出現していなければ大丈夫です。

:::note info
コマンドを使いインストール作業などを行う際は、
「エラー文」や「次の作業指示」などが出現する場合があります。
ざっとでも良いので、処理内容を読むようにしましょう！
（特に「ERROE」や「Next Step」「If you need」などです）
:::

## HomebrewでPHPをインストールする

続けて、インストールしたHomebrew経由でphpのインストールを行います。
必要に応じてPHPのバージョンは任意のものをインストールします。今回は  **PHPのバージョン7.4**  をインストールしてみましょう。
<div class="code-snippet">
	<div class="hcb_wrap">
<pre class="prism undefined-numbers lang-php">brew install php@7.4</pre></div>
</div>

:::note info
PHPのバージョンは作業内容に応じて選択しましょう。
:::

## PATH設定を行う（PATHを通す）
#### そもそも「PATHを通す」とは？
本来、プログラムをコマンドで実行する場合は、そのプログラムの保存場所を含めて書く必要があります。
例えば、今回インストールしたphpを使用する場合、以下のようにPATH(実行するプログラムファイルへの階層)を入力する必要があります。

<div class="code-snippet">
	<div class="hcb_wrap"><pre class="prism undefined-numbers lang-php">/usr/local/opt/php@7.4/bin/php 〜(オプションなど)</pre></div>
</div>

※(コードの例は、Intel CPUの場合)


このように、これをmacの場合は、  **SHELL**  というソフトウェアに登録し「php ~」と入力することでアクセスするように設定します。
すると、下記のように「php ~」と入力することで、インストールしたphpのプログラムにアクセスを行えるようになります。

このようにSHELLに登録することを「 **PATHを通す** 」と言います。

:::note info
  **SHELL(シェル)**  とは・・・
OSとアプリケーションの間に立ってユーザからの要求をシステムに伝えるためのユーザインターフェースで、コマンドを入力することで動くプログラムです。
:::

<div class="code-snippet">
	<div class="hcb_wrap"><pre class="prism undefined-numbers lang-php">php 〜(オプションなど)</pre></div>
</div>



## 使われているSHELLの種類を確認する
macはデフォルトシェルに **bash**  を採用していたのですが、  **Catalina世代からデフォルトシェルを「zsh」に変更**  しています。
なのでまずは使用しているSHELLをコマンドで確認し、PATH設定(シェルスクリプト編集)を行いましょう。

<div class="code-snippet">
	<div class="hcb_wrap"><pre class="prism undefined-numbers lang-php">echo $SHELL</pre></div>
</div>
使用しているSHELLのPATHを教えてくれます。
「~/zsh」と表示された場合は「Z Shell」を、「~/bash」と表示された場合は「bash」を使用していることが確認できます。

:::note info
macは初期設定として起動するSHELLをbashにしていたのですが、Catalina世代からzshに変更しています。
:::

## 環境に合わせてphpソフトのPATHを登録する
では、使用環境に合わせてPATHを通す設定を行いましょう。
bashを使用しているmacとZ Shellを使用しているmacで追加する方法が異なります。
以下のいずれかの方法でシェルスクリプトに追記し  **変更を反映**  して「PHPを再スタート」を行ってください。

<details>
	<summary><font color="blue">bashを使用しているmacはこちら</font></summary><div>

下記2行のコマンドを実行し、bashのシェルスクリプトに追記します。

##### Intelチップの場合の入力


<div class="code-snippet">
	<div class="hcb_wrap"><pre class="prism undefined-numbers lang-php">echo 'export PATH="/usr/local/opt/php@7.1/bin:$PATH"' >> ~/.bash_profile</pre></div>
</div>
<div class="code-snippet">
	<div class="hcb_wrap"><pre class="prism undefined-numbers lang-php">echo 'export PATH="/usr/local/opt/php@7.1/sbin:$PATH"' >> ~/.bash_profile</pre></div>
</div>
下記のコマンドで、bashに変更を反映させます。
<div class="code-snippet">
	<div class="hcb_wrap"><pre class="prism undefined-numbers lang-php">source .bash_profile</pre></div>
</div>

</div></details>

<details>
	<summary><font color="blue">Z Shellを使用しているmacはこちら</font></summary><div>

Z Shellのシェルスクリプトに追記してください。CPUの種類でphpファイルの保存階層が異なるので、ご使用のCPUごと指示に従って入力をおこなってください。

<details>
	<summary><font color="blue">Z ShellでIntelCPU搭載の場合</font></summary><div>

下記の2行を実行し、シェルスクリプトに追記します。
<div class="code-snippet">
	<div class="hcb_wrap"><pre class="prism undefined-numbers lang-php">echo 'export PATH="/usr/local/opt/php@7.4/bin:$PATH"' >> ~/.zshrc</pre></div>
</div>
<div class="code-snippet">
	<div class="hcb_wrap"><pre class="prism undefined-numbers lang-php">echo 'export PATH="/usr/local/opt/php@7.4/sbin:$PATH"' >> ~/.zshrc</pre></div>
</div>
下記のコマンドで、Z Shellに変更を反映します。
<div class="code-snippet">
	<div class="hcb_wrap"><pre class="prism undefined-numbers lang-php">source ~/.zshrc</pre></div>
</div>

</div></details>

<details>
	<summary><font color="blue">Z ShellでM1チップ搭載の場合</font></summary><div>

下記の2行を実行し、シェルスクリプトに追記します。<div class="code-snippet">
	<div class="hcb_wrap"><pre class="prism undefined-numbers lang-php">echo 'export PATH="/opt/homebrew/opt/php@7.4/bin:$PATH"' >> ~/.zshrc</pre></div>
</div>
<div class="code-snippet">
	<div class="hcb_wrap"><pre class="prism undefined-numbers lang-php">echo 'export PATH="/opt/homebrew/opt/php@7.4/sbin:$PATH"' >> ~/.zshrc</pre></div>
</div>

下記のコマンドで、Z Shellに変更を反映します。
<div class="code-snippet">
	<div class="hcb_wrap"><pre class="prism undefined-numbers lang-php">source ~/.zshrc</pre></div>
</div>
</div>
</details>

</div></details>

:::note info
  **「シェルスクリプト」**  とは・・・
コマンドがまとまったドキュメントです。
コマンド入力時にSHELLが参照し、対応する命令(プログラム)を実行します。
:::


#### PHPを再スタート
いずれかの方法でシェルスクリプトに追記を行い、  **変更を反映させたら**  PHPを再スタートします。
<div class="code-snippet">
	<div class="hcb_wrap"><pre class="prism undefined-numbers lang-php">brew services start php@7.4</pre></div>
</div>

最後に再度設定を読み込ませるので、  **ターミナルを閉じて再起動しましょう**  。

## 設定確認
最後にphpのバージョン確認コマンドでセットアップできているか確認しましょう。
下記のコードを入力して、phpのバージョンが表示されたらセットアップ完了です╰(*´︶`*)╯
<div class="code-snippet">
	<div class="hcb_wrap"><pre class="prism undefined-numbers lang-php">php -v</pre></div>
</div>

#### php -vでnot foundが表示される場合。
PATH設定がうまくいっていない可能性があります。
下記のコマンドを実行して、phpのPATHを上書きしましょう。
<div class="code-snippet">
	<div class="hcb_wrap"><pre class="prism undefined-numbers lang-php">brew link --overwrite --force php@7.4</pre></div>
</div>
続けて表示されるシェルスクリプトへの登録PATHも実行してください。
<div class="code-snippet">
	<div class="hcb_wrap"><pre class="prism undefined-numbers lang-php">If you need to have this software first in your PATH instead consider running:
  echo ~
  echo ~
</pre></div>
</div>

## まとめ
<ul>
	<li>Homebrewをインストールする</li>
	<li>HomebrewでPHPをインストールする</li>
	<li>PATHの設定をする</li>
</ul>