おおお!!めっちゃ構文エラー出してますやん
なんで、みんな気づかないんだろう。
「いや、自分のPHPのversionが古いだけじゃん」
アップデート方法
結論
まずインストールしてリンクさせます。
$ brew install php@8.1 && brew link --force php@8.1
しかし、これではバージョンは変わりません。
$php -v
PHP 8.0.15 (cli) (built: Jan 21 2022 04:47:57) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.15, Copyright (c) Zend Technologies
with Zend OPcache v8.0.15, Copyright (c), by Zend Technologies
そこでパスを通します。
$ echo 'export PATH="/usr/local/opt/php@8.1/bin:$PATH"' >> ~/.zshrc
$ echo 'export PATH="/usr/local/opt/php@8.1/sbin:$PATH"' >> ~/.zshrc
.zshrcを開いて確認します。(ここで書いてもおkです)
$ vi ~/.zshrc
しっかりパスが記述されていることを確認したら、反映させます。
$ source ~/.zshrc
これでバージョンが更新されています。
$php -v
PHP 8.1.2 (cli) (built: Jan 21 2022 04:47:26) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies
VS Code側でもバージョンをアップグレードさせます
設定から、 Environment: PHP Version
を検索すれば、バージョンを記載する箇所が出てきます。
こちらを反映させましょう。
これで大丈夫です。
PHP8.1の記述豊富が利用可能になります。
なお、setting.jsonからもPHPのバージョンを設定することができます。
先ほど変更したIntelephense › Environment: PHP Version
が反映さrて、
"intelephense.environment.phpVersion": "8.1.2",
と記載されていますね。
悪戦苦闘した
$ brew search php@8.1
==> Formulae
php@8.1 php@8.0 ✔ php@7.4 ✔ php@7.3 php@7.2
でバージョンがあることを確認
自分の場合、php@8.0とphp@7.4を入れています。
ですが、これだとphp@8.1の書き方はエラーとみなされます。
こちらなど利用することができません
https://www.php.net/manual/ja/unitenum.cases.php
$ brew install php@8.1
ということで、早速インストールしていきます。
$brew unlink php@8.0
Unlinking /usr/local/Cellar/php@8.0/8.0.15... 0 symlinks removed.
インストールできたので、php@8.0は解除します。
$brew link php@8.1
Warning: Already linked: /usr/local/Cellar/php/8.1.2
To relink, run:
brew unlink php && brew link php
そして、新たにphp@8.1 を紐付けましいた。
$brew unlink php && brew link php
Unlinking /usr/local/Cellar/php/8.1.2... 24 symlinks removed.
Linking /usr/local/Cellar/php/8.1.2... 24 symlinks created.
念の為、指示通りに紐付けました。
$php -v
PHP 8.0.15 (cli) (built: Jan 21 2022 04:47:57) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.15, Copyright (c) Zend Technologies
with Zend OPcache v8.0.15, Copyright (c), by Zend Technologies
変わってないやないかーい。
$brew unlink php@8.0 && brew link --force php@8.1
Unlinking /usr/local/Cellar/php@8.0/8.0.15... 0 symlinks removed.
Warning: Already linked: /usr/local/Cellar/php/8.1.2
To relink, run:
brew unlink php && brew link php
```
$php -v
PHP 8.0.15 (cli) (built: Jan 21 2022 04:47:57) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.15, Copyright (c) Zend Technologies
with Zend OPcache v8.0.15, Copyright (c), by Zend Technologies
パスを取り込みます。
$ echo 'export PATH="/usr/local/opt/php@8.1/bin:$PATH"' >> ~/.zshrc
$ echo 'export PATH="/usr/local/opt/php@8.1/sbin:$PATH"' >> ~/.zshrc
.zshrcを開いて確認します。(ここで書いてもおkです)
$ vi ~/.zshrc
しっかりパスが記述されていることを確認したら、反映させます。
$ source ~/.zshrc
これでバージョンが更新されています。
$php -v
PHP 8.1.2 (cli) (built: Jan 21 2022 04:47:26) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies