ホスティングでcomposer updateを実行する必要があるため、sshでログインし、comandを実行してみます。
composer update
laravel and composer instalationがある/ wwwフォルダー内
私のホスティングプロバイダーと連絡を取り、コマンドを実行するように指示します。
php -d memory_limit=512M composer update
このコマンドを実行しますが、「ファイルを開くことができませんでした:composer」
何をすべきか?ここのソルトンは何ですか?
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を使用することをお勧めします。
必要なだけのメモリを使用するように設定します。
COMPOSER_MEMORY_LIMIT=-1 composer update
composerで問題に直面しています
SO、composerメモリ使用量を制限するソリューションを探していました。
試しました(@Sven Answersから)
$ php -d memory_limit=512M /usr/local/bin/composer update
しかし、それは機能しませんでした
「Composerは内部的にmemory_limitを1.5Gに増やします。」
-> composer oficial website。
次に、動作するコマンドを見つけました:
$ COMPOSER_MEMORY_LIMIT=512M php composer.phar update
ただし、512では十分ではありません。
ソース: https://www.agileana.com/blog/composer-memory-limit-troubleshooting/
Php.iniでmemory_limit
値を変更できます
Php.iniファイルの制限を増やしてみてください
無制限の場合は-1を使用するか、2Gのような明示的な値を定義します
memory_limit = -1
注:Composer=は、内部的にmemory_limitを1.5Gに増やします。
ドキュメントを読む getcomposer.org
十分なメモリがある場合、composerは内部的にメモリを消費し、問題なく実行されます。特に、composerに指示する必要はありません。
スワップメモリを増やしてみましたか?スワップメモリを4096Mb(4GB)に増やしましたが、今ではすべてが見栄えがします。
最初に「Sudo free
"を使用して使用可能なメモリとスワップメモリを確認し、スワップを次のように構成します。
Debianの場合:
Sudo fallocate -l 4G /swapfile
Sudo dd if=/dev/zero of=/swapfile bs=4096k count=1048
Sudo chmod 600 /swapfile
Sudo mkswap /swapfile
Sudo swapon /swapfile
これを永続的にするには、これを/ etc/fstabファイルに追加します、/swapfile swap swap defaults 0 0
CentOSの場合:
[root@myserver]:/# cd /var
[root@myserver]:/var# touch swap.img
[root@myserver]:/var# chmod 600 swap.img
[root@myserver]:/var# mkswap /var/swap.img
[root@myserver]:/var# dd if=/dev/zero of=/var/swap.img bs=4096k count=1000
[root@myserver]:/var# mkswap /var/swap.img
[root@myserver]:/var# swapon /var/swap.img
物理ボリュームのサイズに応じてbs = 1024kまたは2048kまたは8096kを変更することにより、スワップメモリを増やすことができます。 'swapon'およびswapoffコマンドを使用して、違いを確認します。
'swappiness'をチェックします(60でうまくいくはずです)
cat /proc/sys/vm/swappiness
AWSサーバーの大きさは? RAMが1GBしかない場合、php.iniで2GBのメモリ制限を設定しても役に立ちません。
サーバー側を増やしてさらにRAMを使用可能にしたくない場合は、SWAPを有効にすることもできます。
スワップを有効にする方法についてはこちらをご覧ください。 4GBを有効にしますが、通常は1GBしか使用しません。
出典:laracastサイトから入手