勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

composerでライブラリのインストールとインストール時のエラー対応方法

   2024/01/16  PHP サーバー

composerでライブラリをインストールする際に「The following exception is caused by a lack of memory or swap, or not having swap configured」というエラーメッセージが表示され、正常にインストールできなかった。Google翻訳を通すとメモリもしくはスワップ不足とのこと。以下に対応方法のメモ。

 

対応方法

サーバにSSH接続して以下コマンドを実行することで解決した。

/bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
/sbin/mkswap /var/swap.1
/sbin/swapon /var/swap.1

 

PHPのメモリ上限を増やすのは?

上記対応を取る前にPHPのメモリ割り当てがデフォルトの32MBとかになっていたので、上限を増やせばいいのでは? と思い、「memory_limit = 512M」等にしてみるも改善されなかった。

 

そもそもcomposerって何?

以前にも止むに止まれぬ事情でcomposerを使用することがあった。しかしながら、それ以降に自身でインストールすることはなくイマイチcomposerが何なのかよく分かっていなかった。

さすがにそろそろ使えるようになっていた方が良いかと思い、composerが何なのか調べてみたところPHPで使用するライブラリのパッケージシステムとなり、コマンドを実行することで依存関係のパッケージも全てインストールできるという便利なものらしい。

今回はPHPExcelというライブラリを使用したかったのだがGithubからソースを丸ごとダウンロードし、FTPでアップロードするも正常に動かず、泣く泣くcomposerでインストールすることで解決できた。

 

composer自体のインストール

インストールしたいディレクトリにcdコマンドで移動しておき、以下コマンドでインストールできる。

curl -sS https://getcomposer.org/installer | php

 

ライブラリのインストール

今回はPHPExcelをインストールするという想定。composerをインストールしたディレクトリにcdコマンドで移動しておき、以下コマンドでインストールできる。

php composer.phar require phpoffice/phpexcel

 

参考サイト

https://qiita.com/atwata/items/d6f1cf95ce96ebe58010

https://getcomposer.org/doc/articles/troubleshooting.md#proc-open-fork-failed-errors

 - PHP サーバー

  関連記事

中国のIPアドレスをiptablesで拒否、遮断する
中国のIPアドレスをiptablesで拒否、遮断する

レンタルしているVPSの一つが最近よく落ちる。原因はどうも海外、特に中国から不正 ...

phpMyAdminにて指定したIPアドレスからのアクセスを制限する方法
phpMyAdminにて指定したIPアドレスからのアクセスを制限する方法

phpMyAdminにて指定したIPアドレスからのアクセスを制限する方法をメモ。 ...

WordPressのWP-Mail-SMTPプラグインが動かない
WordPressのWP-Mail-SMTPプラグインが動かない

PHPのバージョンを下げてからWordPressで外部メールサーバが使えるWP- ...

Plesk12で特定ドメインにメールが送信できない際の対応方法
Plesk12で特定ドメインにメールが送信できない際の対応方法

Plesk12を利用しているサーバで特定のドメインのみメールが送信されなかった。 ...

htmlファイル内でPHPを動かす(AddHandler)
htmlファイル内でPHPを動かす(AddHandler)

サイトを引き継ぐことがあり、ソースを確認していると拡張子はhtmlなのにPHPの ...