🐘 はじめに
MacでVSCodeとPHPを使って開発しているとき、突如として現れたこのエラー:
Cannot validate since a PHP executable is not set.
Use the setting 'php.validate.executablePath' to configure the PHP executable.
「え、ちゃんとPHP入れてるのに……?」と動揺。しかもなぜか設定ファイルにはWindowsのパスが混入していて混乱。
この記事では、このエラーが起きた背景から、Mac環境での正しい対処法、設定ファイルの修正手順までを詳細に解説します。
🧨 エラーの原因
✅ 原因1:VSCode設定にWindowsのPHPパスが残っていた
過去にWindowsでXAMPPを使っていた名残で、以下のような設定が settings.json
に残っていました:
"php.executablePath": "C:\\xampp\\php\\php.exe"
Macでは使えないパスなのに、VSCodeがこれを見に行こうとしてしまい、PHPのバリデーションができなくなっていた。
✅ 原因2:Mac環境にインストールしたPHPのパスが正しく設定されていない
Macでは通常、Homebrew経由でPHPをインストールすると、実行ファイルの場所が /usr/local/bin/php
または Apple Silicon 環境なら /opt/homebrew/bin/php
にあります。
このパスを明示的にVSCodeに教えてあげる必要があります。
🛠️ 対処法
1. 現在のPHPパスを確認
which php
出力例:
/usr/local/bin/php
または M1/M2 Mac なら:
/opt/homebrew/bin/php
2. settings.json
を修正
VSCodeの設定ファイル settings.json
を開き、以下のように修正します:
"php.validate.executablePath": "/usr/local/bin/php"
※ which php
の出力に合わせて適宜変更してください。
🔍 settings.jsonの開き方(初心者向け)
- VSCodeの左下ギアアイコン(⚙️)をクリック
- 「設定(Settings)」を選択
- 右上の「{}アイコン(設定ファイルを開く)」をクリック
→ これでsettings.json
を直接編集できます!
3. Windowsパスが混在していたら削除!
以下のような記述は Macでは不要なので削除します:
"php.executablePath": "C:\\xampp\\php\\php.exe"
✅ 修正後の設定ファイル例
{
"php.validate.enable": true,
"php.validate.executablePath": "/usr/local/bin/php",
"php.validate.run": "onType",
"php.suggest.basic": true,
"php.problems.exclude": {}
}
🧪 HomebrewでPHPのインストール状況を確認したいとき
brew list | grep php
バージョンを確認するには:
php -v
PHPの複数バージョンがある場合、切り替えには brew link
を使います:
brew link --overwrite --force php@8.2
😫 詰まったポイント・気持ちの記録
- 「Windowsの設定残ってるとか罠すぎない!?💥」
- 「そもそも
php.validate.executablePath
が何をしているのか分からなかった」 - 「HomebrewでPHP入れたのに
command not found: php
が出てパニック」 - 最後には「
which php
の神さまありがとう🙏」ってなった。
🎉 結果
- エラーが消えて、VSCodeがPHPを正しく認識!
- バリデーション・補完・エラーチェックがしっかり動作✨
- 設定ファイルの謎も理解が深まって気持ちスッキリ!
🔚 まとめ
MacでVSCodeを使う際は、過去のWindows設定が残っているとエラーの原因になります。
特に php.validate.executablePath
のパス設定はとても重要です。
以下の3ステップで解決できます:
-
which php
で現在のパスを確認 -
settings.json
を修正 - 古い設定を削除
同じエラーに悩む人のヒントになれば嬉しいです!
💬 コメント歓迎!
「わたしもハマった!」「M1 Macではこうだった!」などあれば、ぜひコメントで共有してください🙌