Mac Visual Studio Code 「Error spawning PHP: spawn ファイルパス EACCES」がウインドウ右下に出た話

# 目的

- codeコマンドを用いてphpのファイルを開こうとした時に下記のエラーが出力されて修正した話をまとめる
    - エラー文: `Error spawning PHP: spawn /usr/local/opt/php@7.4 EACCES`
    
        ![スクリーンショット 2020-03-17 9.11.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306417/70495550-0c9e-0af1-f8a2-7ce52087fc25.png)

# エラーの内容

- これはPHPの実行ファイルパスのが見つからない時に出るエラーである。
- 設定されているパス先にPHPの実行ファイルがない事を表している。
- Homebrewで入れたPHPがVisual Studio Code側から見れていなかったため前日に自分で設定ファイルにパスを記載したところそのパスが間違えていた。

# 解決方法概要

1. PHP実行ファイルのパスの取得
1. PHP実行ファイルのパスをVisual Studio Codeの設定に記載

# 解決方法詳細

1. PHP実行ファイルのパスの取得
    - HomebrewでPHPを入れた方
        1. 下記コマンドを実行して`/usr/local/opt`に移動する
        
            ```terinal
            $ cd /usr/local/opt
            ```
        1. optディレクトリ配下にphp@X.Xというシンボリックリンクがある事を確認する。(X.Xはバージョン名)
        1. 下記コマンドを実行してphp@X.X配下のbinディレクトリに移動する。

            ```terminal
            $ cd /usr/local/opt/php@X.X/bin
            ```
        1. binディレクトリ直下にphpファイルがある事を確認する。(下記の「>php*」の部分)

            ```terminal
            $ ls
            >pear*
            >peardev*
            >pecl*
            >phar@ -> phar.phar
            >phar.phar*
            >php*
            >php-cgi*
            >php-config*
            >phpdbg*
            >phpize*
            ```
        1. 前述の確認により「>php*」の存在が確認された場合の実行ファイルのまでのパスは`/usr/local/opt/php@X.X/bin/php`となる。
            ![スクリーンショット 2020-03-17 9.57.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306417/6b060639-66e8-632f-c4ff-55e1af01e11f.png)
1. PHP実行ファイルのパスをVisual Studio Codeの設定に記載
    1. Visual Studio Codeを開く
    1. 画面左上の「Code」をクリックする。
    
        ![Menubar_と_Visual_Studio_Code.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306417/c9ef3371-6838-8894-2f49-de8b83a3f9a8.png)
    1. 「基本設定」→「設定」をクリックする。

        ![スクリーンショット 2020-03-17 9.48.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306417/be093405-bdaf-6671-4d8d-7e7d92f0919d.png)
    1. 設定画面が開く

        ![スクリーンショット 2020-03-17 9.49.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306417/ef014e25-6f6b-5a77-3ee3-b28529f2c3bf.png)
    1. 設定の検索に「Associations」と入力する。
    1. 赤矢印が指している「settings.jsonで編集」をクリックする。

        ![設定.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306417/12898ce4-a666-655e-a7c3-f12cd8f8f8a6.png)
    1. 下記のような.jsonのファイルが開く。(本ファイルの記載内容は各個人で異なる。今はファイルが開く事を確認する。)
        
        ![スクリーンショット 2020-03-17 9.57.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306417/969da304-e129-64b1-1b11-a68e01fdf101.png)
    1. 開いた.jsonファイルにphp.executablePathの記載があるか確認する。
        - 記載があった方
            1. すでに記載のある`"php.executablePath": "ファイルパス"`の前に`//`を記載してコメントアウトする。
            
                ![スクリーンショット 2020-03-17 9.58.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306417/f682a300-e5ff-ed16-f609-511222875c75.png)
        - 記載はない方でphp.executablePath意外の記載がある方
            1. すでにある記載の最後に`,`を追記しておく。

                ![Menubar_と_settings_json.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306417/e39250fe-a552-0b3f-d332-b978ca50aa52.png)
        - 一記載はない方
            1. 次の手順で正しいパスを追記する。
    1. 下記の内容を開いているsettings.jsonファイルに記載する。(X.XはHomebrewでインストールしたみなさんのPHPのバージョンを記載する。)

        ```settings.json
        "php.executablePath": "/usr/local/opt/php@X.X/bin/php"
        //"php.executablePath": "PHP実行ファイルのパスの取得"
        ```
    1. 筆者は間違えたphp.executablePathの記載があったためコメントアウトした上で正しいパスを記載する。

        ![スクリーンショット 2020-03-17 10.21.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306417/6d80117b-52b5-41a1-ac40-b603436ed902.png)
    1. settings.jsonファイルを閉じてVisual Studio Code本体も再起動する。
    1. codeコマンドをもちいてPHPのファイルを開いてエラーが出ない事を確認する。