LoginSignup
5

More than 1 year has passed since last update.

macにPHP8.1をインストールする。

Last updated at Posted at 2022-02-19

おおお!!めっちゃ構文エラー出してますやん
なんで、みんな気づかないんだろう。

「いや、自分の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側でもバージョンをアップグレードさせます

スクリーンショット 2022-02-19 10.57.48.png
設定から、 Environment: PHP Versionを検索すれば、バージョンを記載する箇所が出てきます。
こちらを反映させましょう。

これで大丈夫です。
PHP8.1の記述豊富が利用可能になります。

なお、setting.jsonからもPHPのバージョンを設定することができます。

スクリーンショット 2022-02-19 11.00.32.png

先ほど変更したIntelephense › Environment: PHP Versionが反映さrて、
"intelephense.environment.phpVersion": "8.1.2",と記載されていますね。

スクリーンショット 2022-02-19 11.03.09.png

悪戦苦闘した

$ brew search php@8.1 
==> Formulae
php@8.1                               php@8.0 ✔                             php@7.4 ✔                             php@7.3                               php@7.2

でバージョンがあることを確認

自分の場合、php@8.0php@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

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
What you can do with signing up
5