4
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?

PHPComplete: 複数のPHPバージョンを一括インストール

Last updated at Posted at 2024-06-21
brewworks logo

以前紹介した、Macで複数のバージョンのPHPを同時に使うのニューバージョンです。

複数のPHPバージョンを簡単に一度にインストールできる便利なHomebrewフォーミュラ「PHPComplete」を紹介します。

PHPCompleteとは?

PHPCompleteは、複数のPHPバージョンを一度にインストールできるHomebrewフォーミュラです。XDebugやその他のPECLパッケージも含まれています。

他との違い

phpenvと違いディレクトリ単位で切り替えたりすることや、`phpbrewのようなインストールツールではありません。

実体は単なるhomebrewフォーミュラです。shivammathur/phpで用意されている複数のPHPを一度にinstallします。グローバルなユーティリティなどなくクリーンです。

主な特徴

PHPだけでなく開発に必要なPECLも同時に複数バージョンのPHPにインストールされます。

  1. 複数のPHPバージョン: PHP 5.6から8.3まで一度にインストールされます。

  2. XDebugの自動インストール: 各PHPバージョンに適したXDebugが自動的にインストールされます。特に古いバージョンのPHPのXdebugはバージョン番号指定が必要ですがその面倒が軽減されます。

  3. 追加のPECLパッケージ: PHP 8.1、8.2、8.3向けには以下のパッケージが含まれています:

    • pcov (コードカバレッジドライバー)
    • apcu (APCユーザーキャッシュ)
    • redis (Redisクライアント)
    • xhprof (階層的プロファイラー)
    • imagick (画像処理ライブラリ)
    • memcached (Memcachedクライアント)
  4. 柔軟なカスタマイズ: 必要なPHPバージョンやエクステンションを簡単にコメントアウトできます。例えば上記のpeclをPHP5.6からでもインストールできます。

使い方

  1. タップしてフォーミュラをインストール:

    brew tap koriym/brewworks
    brew install phpcomplete
    
  2. インストール完了後、各PHPバージョンとエクステンションが使用可能になります。

カスタマイズと再インストール

PHPCompleteの素晴らしい点は、必要なPHPバージョンやPECLパッケージを柔軟に選択できることです。

  1. フォーミュラを編集:

    brew edit phpcomplete
    
  2. 必要なPHPバージョンやPECLパッケージを選択(または選択解除)します。

  3. 変更を反映するために再インストール:

    brew reinstall phpcomplete
    

このように開発環境をコントロールできます。

アンインストール

アンインストールを行うと、このパッケージのみに依存しているPHPは全てアンインストールされます。

brew uninstall phpcollection

クリーンなPHPスイッチ

切り替えユーティリティを使わずPATH環境変数の値を変えるだけでphpを切り替えます。

alias php56='export PATH="/opt/homebrew/opt/php@5.6/bin:$PATH" && export PATH="/opt/homebrew/opt/php@5.6/sbin:$PATH"'
alias php70='export PATH="/opt/homebrew/opt/php@7.0/bin:$PATH" && export PATH="/opt/homebrew/opt/php@7.0/sbin:$PATH"'
alias php71='export PATH="/opt/homebrew/opt/php@7.1/bin:$PATH" && export PATH="/opt/homebrew/opt/php@7.1/sbin:$PATH"'
alias php72='export PATH="/opt/homebrew/opt/php@7.2/bin:$PATH" && export PATH="/opt/homebrew/opt/php@7.2/sbin:$PATH"'
alias php73='export PATH="/opt/homebrew/opt/php@7.3/bin:$PATH" && export PATH="/opt/homebrew/opt/php@7.3/sbin:$PATH"'
alias php74='export PATH="/opt/homebrew/opt/php@7.4/bin:$PATH" && export PATH="/opt/homebrew/opt/php@7.4/sbin:$PATH"'
alias php80='export PATH="/opt/homebrew/opt/php@8.0/bin:$PATH" && export PATH="/opt/homebrew/opt/php@8.0/sbin:$PATH"'
alias php81='export PATH="/opt/homebrew/opt/php@8.1/bin:$PATH" && export PATH="/opt/homebrew/opt/php@8.1/sbin:$PATH"'
alias php82='export PATH="/opt/homebrew/opt/php@8.2/bin:$PATH" && export PATH="/opt/homebrew/opt/php@8.2/sbin:$PATH"'
alias php83='export PATH="/opt/homebrew/opt/php@8.3/bin:$PATH" && export PATH="/opt/homebrew/opt/php@8.3/sbin:$PATH"'

~/.zshrcなどに以上のaliasを追加すると簡単に切り替えられます。

php81  # Switch to PHP 8.1
php74  # Switch to PHP 7.4
  • シンプルで直感的: 簡単なコマンドでPHPのバージョンを素早く切り替えられます。
  • 追加ツール不要: シェルの機能のみを使用するため、追加のソフトウェアは必要ありません。(brew updateで壊れることもありません!)

他にはターミナルのスクリプトを設定して、Windows単位で指定する方法もあります。

前述の以下の記事の「ターミナルで選択」をご覧ください。

リソース使用量について

切り替え

PHPCompleteを使用する際、リソース使用量について心配する必要はあまりありません:

  • 各PHPバージョンは約80-100MBのディスク容量を使用します。
  • インストールしたが使用していないPHPバージョンは、ディスク容量を占有するだけで、メモリやCPUには影響しません。
  • そのため、使用頻度の低いバージョンをインストールしていても、システムパフォーマンスへの影響は最小限です。

あまり心配しないで、使わないバージョンがインストールされていてもまあいいのではないでしょうか。PHPコレクションとしてcompleteしましょう😃

まとめ

PHPCompleteは、複数のPHPバージョンを扱う開発者にとって便利なツールです。複数のPHP環境構築の時間を1コマンドでXdebug付きで(ここ重要)インストールする手間を大幅に削減し、異なるPHPバージョン間でのテストや開発を容易にします。カスタマイズが簡単で、リソース使用量も気にする必要がなく、ツールもインストールされません。

このフォーミュラでPHPを"コンプリート"してください!😆

4
1
1

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
4
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?