3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

VSCodeでphp-cs-fixerが動かない場合の対処法メモ(PHP version)

Last updated at Posted at 2021-04-02

背景

急に php-cs-fixerPHP CS Fixer: php general error という謎のエラーをだし時間が溶けてしまったので、同じ苦しみを味わう人を一人でも減らすための雑なメモ

調査方法

コンソールエラーを確認

Visual Studio CodeでPHPの自動整形を設定を確認すると、
「Help」→「Toggle Developer Tool」
を選択することでVSCode上のコンソールエラーが確認できるのでそちらを確認。
ここで様々なパターンがありそうですが、
僕の場合は以下のバージョン違いのエラーが出ていました。

PHP needs to be a minimum version of PHP 5.6.0 and maximum version of PHP 8.0.*.Current PHP version: 8.0.0.PHP CS Fixer is not able run on PHP 8.0.0 due to bug in PHP tokenizer (https://bugs.php.net/bug.php?id=80462).Update PHP version to unblock execution.

phpbrewでPHPのバージョンを7.4に戻す

(Mac)phpbrewでPHPのバージョンを切り替えるなどを参考にphpのバージョンを戻して、再度調整するもなぜか同じエラーが出続けていました。
ターミナルのphpバージョンとVSCodeのphpバージョンはずれることがあるようです。(詳細は調べていないですが。。。)

気合でVSCode側のphpバージョンを指定

  1. 「command + ,」で設定を開き「php」で検索
  2. 「PHP › Validate: Executable Path」の「setting.jsonで編集」をクリック
    image.png
  3. "php.validate.executablePath": "/Users/sakuraiyuji/.phpbrew/php/php-7.4.16/bin/php",を設定する
    image.png

最後に

強制的にVSCodeのphpのバージョンを指定しているためおそらく方法としてはベストではない気がしており、今後phpのバージョン上げたくなった際に苦労しそうな予感がメチャしています。。。笑
何かいい回避方法をご存知の方がいらっしゃれば教えていただけるととても助かります。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?