Mac上にPHPの開発環境を構築したいんだけど、どの方法がいいんだろう。そんなお悩みを抱えるあなたに朗報です。
この記事では、PHPの開発環境構築に使える3つのツール MAMP、Homebrew、Docker を徹底比較します。
PHPの開発環境に必要なもの
PHPの開発をするには以下の3つのソフトウェアが必要です。
- PHP
- スクリプトを実行するための言語
- ウェブサーバ
- PHPプログラムの実行結果をブラウザに表示するためのソフトウェア
- Apache、nginx、LiteSpeed Web Serverなど
- データベースサーバ
- PHPプログラムが扱うデータを保存するもの
- MySQL、PostgreSQLなど
これらのソフトウェアをMacにインストールするためのツールが MAMP、Homebrew、Docker です。
MAMP/Homebrew/Dockerの比較表
MAMP | Homebrew | Docker | |
---|---|---|---|
難易度 | 初心者向け | 中級者向け | 上級者向け |
特徴 | MacにApache、MySQL、PHPをインストールするためのツール | macOSのためのパッケージ管理ツール | コンテナ型仮想環境構築ツール |
操作方法 | GUI | コマンドライン | コマンドライン |
インストールできる ウェブサーバ | Apache nginx | Apache nginx | Apache nginx LiteSpeed Web Server |
インストールできる データベース | MySQL SQLite | MySQL MariaDB PostgreSQL SQLite | MySQL MariaDB PostgreSQL SQLite |
PHPのマルチバージョン管理 | |||
PHP拡張モジュールのインストール | |||
公式サイト | https://www.mamp.info/en/mamp/mac/ | https://brew.sh/ja/ | https://www.docker.com/ja-jp/ |
MAMP
MAMPはPHPの開発環境に必要なソフトウェア一式をMacにまとめてインストールするためのツールです。MAMPをインストールすると以下のソフトウェアがMacにインストールされます。
- Apache
- nginx
- MySQL
- SQLite
- PHP
- Python
- Perl
- phpMyAdmin
MAMPを使うメリット
- 圧倒的な手軽さ: 数回のクリックですべてのインストールが完了します。サーバの起動もGUI(グラフィカルユーザインタフェイス)で行うことができます。初心者におすすめです。
MAMPを使うデメリット
- 最新のバージョンは使えない: インストールされるソフトウェアのバージョンは固定されており、やや古いものです。
- 複数のバージョンのPHP: 使えるPHPのバージョンは
8.2.*
と7.4.*
の2種類のみです(2024年執筆時点)。細かいバージョンの切り替えはできません。 - PHP拡張モジュールのインストールはできない: 自分が使いたいPHP拡張モジュールを追加インストールすることはできません。ただし、mbstring、mysqli、PDOなどの主要なモジュールは標準でインストールされます。
Homebrew
HomebrewはmacOSのためのパッケージ管理ツールです。Linuxで使われるyum
やapt
のMac版です。なので、PHPの開発環境に限らず、いろいろなソフトウェアをインストールすることができます。
Homebrewを使うメリット
- 最新のバージョンを使える: 各種ソフトウェアは最新のバージョンを使うことができます。
- 複数のバージョンのPHP: 比較的新しいバージョンならばインストールできます。現在(2024年執筆時点)インストールできるバージョンは、
8.3.*
、8.2.*
、8.1.*
、8.0.*
です。phpenv
やphpbrew
などのツールを使えばもっと古いバージョンや細かいバージョンの切り替えも可能です。 - なんでもインストールできる: Macにインストールできるものならば、なんでもインストールできます。
Homebrewを使うデメリット
- コマンドライン操作が必要: ソフトウェアのインストールやアップデートは、ターミナルを起動してコマンドを入力して行います。初心者には苦行かもしれません。
- ソフトウェアはひとつひとつインストールする: 必要なソフトウェアをまとめてインストールすることはできません。
Docker
Dockerはコンテナ型の仮想環境を作成するためのプラットフォームです。Dockerコンテナ(仮想環境)の中にソフトウェアをインストールするので、Macにインストールできないものもインストルできちゃいます。
Dockerを使うメリット
- 最新のバージョンを使える: 各種ソフトウェアは最新のバージョンを使うことができます。
- 複数のバージョンのPHP: バージョンは
5.4
から最新まで、細かく選んでインストールすることができます。 - 環境汚染が起きない: 各種ソフトウェアはコンテナにインストールされます。macOS上に直接インストールされるわけではないので、それに起因する不具合などは発生しません。
- 環境を再現しやすい: 構築する環境の内容は、DockerfileやComposeファイルに記述します。これを使って複数のマシンに同じ環境を簡単に構築することができます。チーム開発で役に立ちますね。
Dockerを使うデメリット
- コマンドライン操作が必要: ソフトウェアのインストールやアップデートは、ターミナルを起動してコマンドを入力して行います。
- 理解に時間がかかる: Dockerの概念や仮想化技術について理解する必要があります。
その他の選択肢
ここまで、MAMP、Homebrew、Dockerについて解説してきましたが、他にも方法はあります。それは、VMwareやParallels Desktopのような仮想化ソフトの利用です。
仮想マシンにLinuxなどのOSをインストールし、その上に環境を構築します。OSレベルで本番環境に合わせることが可能です。
初心者向けではありませんが、プログラミングを極めたいならばOSへの理解も重要です。
さいごに
PHPの開発環境構築方法は初心者にとって悩ましい問題です。でも、この記事を読んで主要な3つの方法を理解したあなたは自分にぴったりの方法が見つけられたのではないでしょうか。
まずはMAMPで始めて、慣れてきたらHomebrewやDockerに挑戦してみるのもいいかもしれません。
でわでわ
コメント