3
2

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 1 year has passed since last update.

【Homebrew】PHP7.4からPHP8.2へアップグレードする

Last updated at Posted at 2023-03-13

目的

HomebrewのPHPパッケージを7.4から8.2へ更新します。7.4と8.2では依存ライブラリicu4cのバージョンが異なるため、反映に一手間必要です。

詳しくはこちらの記事をご覧ください。

動作環境

  • MacBook Air M1 2020
  • macOS Ventura 13.2.1
  • Homebrew 4.0.6
  • PHPはHomebrewのパッケージphp@7.4を使用
% php -v
PHP 7.4.30 (cli) (built: Jun  9 2022 09:20:03) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Xdebug v3.1.4, Copyright (c) 2002-2022, by Derick Rethans
    with Zend OPcache v7.4.30, Copyright (c), by Zend Technologies
% which php
/opt/homebrew/opt/php@7.4/bin/php

72系のicu4cをインストール

PHP7.4が使用するicu4cは70系ですが、PHP8.2は72系を使用します。

72系のicu4cをインストールします。

# 現在は70系
% brew list icu4c --versions
icu4c 70.1
# 72系をインストール
% brew install icu4c
icu4c 70.1 is already installed but outdated (so it will be upgraded).
# 以下省略

インストール時に70.1から72.1へアップグレードされます。インストール後は70.1が消えています。

% brew list icu4c --versions
icu4c 72.1

この時点でicu4c 72.1のパッケージが反映されているため、brew linkの実行は不要です。

PHP7.4の設定を削除

PHP7.4のパッケージをbrew unlinkします。

% brew unlink php@7.4
Unlinking /opt/homebrew/Cellar/php@7.4/7.4.30... ==> Downloading https://formulae.brew.sh/api/formula.jws.json

25 symlinks removed.

ログインシェルの設定ファイルからexportを削除します。

.zshrc
export PATH="/opt/homebrew/opt/php@7.4/bin:$PATH"
export PATH="/opt/homebrew/opt/php@7.4/sbin:$PATH"

設定が削除されたため、この時点でphpコマンドが利用できなくなります。

 % php -v
zsh: command not found: php

PHP8.2を反映

PHPのパッケージにPHP8.2が反映されている想定です。
brew upgradeの実行後など、PHPのパッケージが最新の状態であればPHP8.2がインストールされていると思います。(2023年3月現在)

PHPのパッケージをbrew linkで反映します。

% brew link php
Linking /opt/homebrew/Cellar/php/8.2.3... 24 symlinks created.

これでPHP8.2が使えるようになりました!

 % php -v
PHP 8.2.3 (cli) (built: Mar 12 2023 12:08:11) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.3, Copyright (c) Zend Technologies

今度は逆にPHP7.4が使えなくなりますが...
PHPは複数のバージョンで確認したいケースもあるので、簡単にバージョンを切り替える方法を模索したいです。

phpbrewphpenvが気になります。

採用PR

弊社で一緒に働く仲間を募集しています。

Devトークやってます。お気軽にご応募ください(^^)

募集要項はこちらをご覧ください!

3
2
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
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?