本サイトはアフィリエイト等の広告を利用しています

PHPをMAMPで使うならComposerは別途のインストール不要

MacでPHP環境を作る時の話です。時系列的にはMAMPで「WebStartボタンがグレイアウトして押せない」事件発生の前後の話になります(かなり間が開いてしまったけど)。

最近のmacOSにはPHPはインストールされていなくて、Homebrewを使ってシステムへとインストールするか、MAMPを使うかの二つの方法がある。今回は後者を選んでます。MAMPのインストールはインストーラをダウンロードして展開して実行します。あとは画面の指示に従っていけばインストールできるはず。

問題はそのあと。
パスを通す必要があります。Terminal.appで「php」と打ったときに実行ファイルを起動させるために、あらかじめコマンドファイルの位置を設定しておく作業です。
今回は「phpdotenv」(APIキーなどの機密情報を環境変数に保存するためのパッケージ)を使えるようにしたいとも考えていて、インストールや管理のためにComposer(PHPのパッケージ管理システム)もインストールしようと思っていました。
で、PHPの場所を確認しようとMAMP(バージョン 7.2)のディレクトリを見ていると、composerファイルを発見。

/Applications/MAMP/bin/php/composer

Composerを使うための方法を検索すると、インストールする方法がヒットします。
しかしMAMPにComposerのファイルがあるのを見て、Composerは別途インストールするんじゃなくてこれを使うんじゃないのか? そう思って「MAMP composer」でググってもめぼしい情報は見つかりません。MAMPを使う場合であってもComposerはインストールする、と書かれている記事ばかりです。公式のPro版のマニュアルの検索機能を使ってみてもヒットしませんでした。

しかし「”/Applications/MAMP/bin/php/composer”」でググってみると、いくつか見つかりました。

上の中の最後の情報にTerminal.appの設定ファイルに追記する内容が書かれています。
下記の、必要なものだけを追記してみることにしました(PHPバージョンは変更済み)。
参考情報: macOSでパスを通す方法 (わたしの環境はSequoiaでzshです)

export PATH="/Applications/MAMP/bin/php/php8.2.26/bin:${PATH}"
alias composer='/Applications/MAMP/bin/php/composer'

vimで追記して、ファイル保存。相変わらずvi/vimのコマンドは覚えられてないので、参考情報: viの使い方/基本操作
設定を再読込させます。(プロンプト省略)

source ~./zshrc

で、MAMPを起動後に(終了しててもいいけど)コマンドを試すと…
(ここからはコマンド入力がわかりやすいようにプロンプトを表記してます)

% php -v
PHP 8.2.26 (cli) (built: Nov 21 2024 11:11:10) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.26, Copyright (c) Zend Technologies

さらに

% composer -V   
Composer version 2.2.21 2023-02-15 13:07:40


% composer self-update
Upgrading to version 2.8.4 (stable channel).

Use composer self-update --rollback to return to version 2.2.21


% composer -V         
Composer version 2.8.4 2024-12-11 11:57:47
PHP version 8.2.26 (/Applications/MAMP/bin/php/php8.2.26/bin/php)
Run the "diagnose" command to get more detailed diagnostics output.

PHPもcomposerもMAMPでいける、って話ですね。別途インストールせずに。
ちなみに今はもうComposer 2.8.8が出てる模様。

昔はMAMPに同梱されてなかったようです>Composer
ver. 6.9で入ってたのは確認できましたが、どのバージョンから入ってたのかは不明です。

2025-04-22T21:57:20+09:00 追記: Composerについて少し補足しました。

コメント