勉強したことのメモ

webプログラマが勉強したことのメモ。

composerでライブラリのインストールとインストール時のエラー

   

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

 

対応方法

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

 

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

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

 

そもそもcomposerって何?

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

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

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

 

composer自体のインストール

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

 

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

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

 

参考サイト

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

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

 - PHP, サーバー

  関連記事

JSONをPHPで扱う

JSONデータはjavascriptで扱うものと思ってたけど、 PHPでも使える ...

画像をアップロードすると複数サムネイルを生成する方法

フォームで画像をアップロードすると、予め定めておいた大中小のサイズでサムネイル画 ...

cronの設定方法

cronを設定してみたので方法をメモ。 まずcronで動かすPHPを作成。 ■c ...

PHPでゼロパディング

予め桁数を決めておいて、桁数未満の場合は0で埋めたい場合の処理。 str_pad ...

PHPにて自動でファイルを呼び出す(auto_prepend_file)

設定ファイルとかをinclude('config.php')みたいに、 いちいち ...

mb_convert_variablesとmb_convert_encodingの違い

両関数の違いについて、引数の場所というか順番が違うだけ? と思ってたけどどうにも ...

海外IPの制限

海外IPの制限を行ったので手順のメモ。 まず「サーバー立てたらすぐ攻撃が来る」と ...

さくらvpsでPHPのエラーログ設定

PHPのエラーログを設定した際のメモ。 vi /etc/php.ini で設定フ ...

PHPでeval時のエラー

eval()'d code on line みたいなエラーが出てた。 よそのシス ...

PHPでCSVファイルを作って開くと「SYLKファイルが云々」のアラートが出た

データベースのログを整形してCSVファイルを生成し、ダウンロード及びエクセルで開 ...