0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Macに複数バージョンのPHPを入れて切り替える

Last updated at Posted at 2025-10-28

概要

Node.jsのnvmのように、複数バージョンを切替できるような記事があったので試してみる。

準備

買い替えたばかりのMacだったので「Homebrew」が入っていませんでした💦

$ which brew
brew not found

とりあえず、インストールします。

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

※ 公式サイト: https://brew.sh/

brewコマンドが使えるようにパスを通す。

$ which brew
brew not found

$ echo >> /Users/reflet/.zprofile
$ echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/reflet/.zprofile
$ eval "$(/opt/homebrew/bin/brew shellenv)"

$ which brew        
/opt/homebrew/bin/brew

Homebrewのアップデートとアップグレードも念の為、実行しておきます。

$ brew update
$ brew upgrade

PHP7.X系

PHP@7.4をとりあえず入れてみようとする。

$ brew install php@7.4
Warning: No available formula with the name "php@7.4". Did you mean php@8.3, php@8.2 or php@8.1?
==> Searching for similarly named formulae and casks...
==> Formulae
php@8.3                                          php@8.2                                          php@8.1

PHP7.X系はすでにサポート終了したのかな?...💦
インストールできないようです

PHP8.X系

PHP@8.1、PHP@8.2、PHP@8.3はインストールできそうなので試す。

$ brew install php@8.1
$ brew install php@8.2
$ brew install php@8.3

PHPのバージョンを確認してみる。

$ php -v
zsh: command not found: php

この段階では、まだPHPコマンドは使えないようです。

PHPの切り替え

ひとまず、PHP@8.1を使えるようにしてみる。

$ brew link --force --overwrite php@8.1
$ php -v

PHP 8.1.33 (cli) (built: Jul  1 2025 21:17:52) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.33, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.33, Copyright (c), by Zend Technologies

成功したようです。

次に、PHP@8.2に切り替えてみる。

$ brew link --force --overwrite php@8.2
$ php -v
PHP 8.2.29 (cli) (built: Jul  1 2025 16:29:21) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.29, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.29, Copyright (c), by Zend Technologies

問題なく切り替わったようです。

さらに、PHP@8.3に切り替えてみる。

$ brew link --force --overwrite php@8.3
$ php -v
PHP 8.3.27 (cli) (built: Oct 21 2025 14:53:41) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.27, Copyright (c) Zend Technologies
    with Zend OPcache v8.3.27, Copyright (c), by Zend Technologies

うまく切り替わりました。

特に切り替えに問題はないようです。

うまく切り替わらなければ、下記のようにパスを手動で調整する方法がコメント表示されますが、
今回は使わなくて良かったようです。

# PHP@8.1
echo 'export PATH="/opt/homebrew/opt/php@8.1/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="/opt/homebrew/opt/php@8.1/sbin:$PATH"' >> ~/.zshrc

# PHP@8.2
echo 'export PATH="/opt/homebrew/opt/php@8.2/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="/opt/homebrew/opt/php@8.2/sbin:$PATH"' >> ~/.zshrc

# PHP@8.3
echo 'export PATH="/opt/homebrew/opt/php@8.3/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="/opt/homebrew/opt/php@8.3/sbin:$PATH"' >> ~/.zshrc

まとめ

複数のバージョンのPHPをインストールして切り替えは確かにできました。

しかし、マイナーバージョンを指定してのインストールはできないように感じます。
また、PHP7.X系やPHP5.X系はインストールできないようです。

古いバージョンのPHPを使っている開発環境を用意することはできないようです。
あまり使い勝手は良くなさそう...

参考サイト

・Macで brew を利用してPHP複数バージョンを切り替える方法
 https://qiita.com/aokazu/items/2092f97af8a99ce4617f

・Macで複数バージョンのPHPを楽に使い分ける
 https://zenn.dev/ttskch/articles/e6f6b2af2972ab

以上

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?