を実行するcomposer update
と、OSは構成されたパスを調べて、その名前の実行可能ファイルを見つけようとします。
を実行するphp composer update
と、composer
文字列はPHPのパラメータとして扱われ、どのパスでも検索されません。実行するには、フルパスを指定する必要があります。
実行which composer
すると、OSがcomposer実行可能ファイルを見つける場所がわかり、PHPコマンドでフルパスを使用するだけです。
$>which composer
/usr/local/bin/composer
$>php -d memory_limit=512M /usr/local/bin/composer update
...
512MBは少なすぎる可能性があることに注意してください。私の認識では、使用する依存関係の数と理論的に許可するバージョンの多様性に応じて、1GB以上かかると思います。つまり、Symfonyを許可する~2.3
と、Composerは使用するよりもはるかに多くの可能なバージョンを処理できるようになります。~2.7
。
また、本番マシンでComposerを実行することは最善の方法ではないことにも注意してください。Githubにアクセスできる必要があり、アクセス資格情報を提供し、VCSツールをインストールする必要があります。更新中にリモートホスティングサーバーのいずれかがオフラインになると、サイトが簡単に破損します。すべての準備を行ってから、すべてのファイルを運用サーバーに移動するデプロイメントシステムでComposerを使用することをお勧めします。
更新
今は2020年であり、Composerがメモリを管理する方法はかなり変わりました。最も重要なことは、制限が低すぎる場合、Composerが自動的にメモリ制限を増やすことです。ただし、これにより、インストールされているメモリが少なすぎるマシンでメモリが不足するという問題がすぐに発生します。のような環境変数を設定することで、Composerが使用するメモリを減らすことができますが、ComposerCOMPOSER_MEMORY_LIMIT=512M
が正しく動作するためにより多くのメモリが必要な場合、これにより問題が発生します。
私の要点は真実です。インストールされているメモリが少なすぎるマシンでComposerを実行しないでください。すべてを更新するには、1.5GBの空きメモリが必要になる可能性があります。
composer install
で十分です。あなたの場合、共有ホスティングを使用している間は機能しないと思うcomposer update
ので、唯一の方法はDigital Ocean、LinodeのようなVPSホスティングを購入することです。