WindowsにPHP Composerをインストールする
更新日:2023/02/23
Windowsを使っていると、Composerを使うことがほとんどありませんが、たまたま使わないといけない状況になったのでインストールしてみました。
php.iniの確認
ComposerはopensslというPHPのエクステンションを使用します。
そのため、php.iniでのopensslを使用するように設定をしておかないと、インストール中に警告がでます。
php.iniを開き、「extension=php_openssl.dll」がコメントアウトされていたら、解除します。
念のため、「extension_dir」が、
extension_dir="ext"
または、
extension_dir="php_openssl.dllがあるフォルダへのフルパス"
になっていることを確認しましょう。
Composerインストーラーのダウンロード
Macはcurlコマンドでインストールするようですが、Windowsの場合、Composerのダウンロードページからインストーラーをダウンロードします。
表示されたページの「Composer-Setup.exe」を保存して、実行しましょう。
Composerをインストール
(1) インストールを開始すると、英語で質問されます。
"Setup will install Composer to a fixed location for all users.This includes a Control Panel uninstaller and is the recommended option."
わからないので、Google翻訳さんに聞いてみます。
セットアップは、Composerをすべてのユーザーの固定された場所にインストールします。これには、コントロールパネルアンインストーラーが含まれ、推奨オプションです。
Take control and just install Composer.An uninstaller will not be included.
制御し、Composerをインストールするだけです。アンインストーラーは含まれません。
チェックを入れると、アンインストーラーがインストールされないよ、ということですね。
アンインストールするかもしれないので、ここはチェックを入れません。
(2) 次はわかりやすいです。インストールされているPHPの選択ですね。
セレクトボックスに表示されていないPHPを選択したい場合は、よこの”Browse...”で選択できます。
(3) 次はプロキシの設定です。
プロキシ?なにそれ?と思った人は、80%くらいの確率で設定しなくて大丈夫です。
(4) 次は選択したPHPのバージョンや、パスの確認画面です。
一応確認して、”Install”を開始しましょう。
(5) 終わったと思ったらまた英語です。
"Setup has changed your environment,but not all running programs will be aware of this.To use Computer for the first time,you will have to do one of the following"
セットアップによって環境が変更されましたが、実行中のすべてのプログラムがこれを認識しているわけではありません。初めてコンピューターを使用するには、次のいずれかを実行する必要があります。
ふむふむ...
"-Open a new command window.
-Close all File Explorer windows,then open new command window.
-Logoff and Login again,then open new command window."
-新しいコマンドウィンドウを開きます。
-すべてのファイルエクスプローラーウィンドウを閉じてから、新しいコマンドウィンドウを開きます。
-ログオフして再度ログインし、新しいコマンドウィンドウを開きます。
ようするに、Windowsの場合は、コマンドプロンプトを開いていたら、閉じて、再度開いてねということですね
(6) インストールが終了しました。
Composerのホームページ(https://getcomposer.org/)を見たいなら、チェックボックスにチェックを入れて”Finish”します。
インストールできているか確認
Composerがインストールできたか確認してみます。
コマンドプロンプトを開いて、「Composer」と入力してみましょう。
次のように表示されたら、インストールできています。
C:\Users\aaaa>composer
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 1.9.0 2019-08-02 20:55:32
Usage:
command [options] [arguments]
インストールしたComposerはどこにいる?
インストールしたComposerがどこにあるのか、確認してみます。
C:\Users\aaaa>where composer
C:\ProgramData\ComposerSetup\bin\composer
C:\ProgramData\ComposerSetup\bin\composer.bat
composerが二つ見つかりましたが、Windowsで実行できるのは「composer.bat」の方です。
composer.batの中身も見てみましょう。
@echo OFF
:: in case DelayedExpansion is on and a path contains !
setlocal DISABLEDELAYEDEXPANSION
php "%~dp0composer.phar" %*
composer.pharを、phpで実行しています。
ちなみに%~dp0は、実行されているファイル「composer.bat」があるディレクトリ(フォルダ)を指しています。
Composerを手動でインストールする
Composerのダウンロードページにも記載されていますが、手動でインストールすることも可能です。
(1) コマンドプロンプトを開きます。
(2) ComposerのPHPファイル(composer.phar)をダウンロードするフォルダに移動します。
(3) 次のコマンドを順番に実行します。
> php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
> php -r "if (hash_file('sha384', 'composer-setup.php') === 'a5c698ffe4b8e849a443b120cd5ba38043260d5c4023dbf93e1558871f1f07f58274fc6f4c93bcfd858c6bd0775cd8d1') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
> php composer-setup.php
> php -r "unlink('composer-setup.php');"
(4) ダウンロードされたcomposer.pharを、php.exeが格納されてるフォルダなど、パスの通ったフォルダに移動します。
(5) 移動先のフォルダ内に、次の内容でファイルを作成します。
ファイル名:composer.bat
内容:
@echo OFF
setlocal DISABLEDELAYEDEXPANSION
php "%~dp0composer.phar" %*
(6) 実行できるか確認する
C:\Users\aaaa>composer
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 1.9.0 2019-08-02 20:55:32
Usage:
command [options] [arguments]
実行できないときは?
移動先のフォルダにパスが通っていない可能性があります。
こちらの方法で、パスの設定を確認してみてください。
更新日:2023/02/23
関連記事
スポンサーリンク
記事の内容について
こんにちはけーちゃんです。
説明するのって難しいですね。
「なんか言ってることおかしくない?」
たぶん、こんなご意見あると思います。
裏付けを取りながら記事を作成していますが、僕の勘違いだったり、そもそも情報源の内容が間違えていたりで、正確でないことが多いと思います。
そんなときは、ご意見もらえたら嬉しいです。
掲載コードについては事前に動作確認をしていますが、貼り付け後に体裁を整えるなどをした結果動作しないものになっていることがあります。
生暖かい視線でスルーするか、ご指摘ください。
ご意見、ご指摘はこちら。
https://note.affi-sapo-sv.com/info.php
このサイトは、リンクフリーです。大歓迎です。