LoginSignup
2
1

More than 3 years have passed since last update.

【Laravel】predisのインストール方法

Posted at

Predisとは?

こちらのサイトによると
「Predisはオープンソースの Redis クライアントライブラリで、MITライセンスのもとで公開・開発されています。

Predis を利用するメリットとしては、PredisはピュアPHPのライブラリであり、特別な設定などが必要ないことがあります。 Composer などのパッケージ管理ソフトウェアでインストールすることができます。」

前提条件

PHP -v7.2
Laravel -v5.5
Amazon linux
mysql -v5.5

インストール方法

下記内容でpredisライブラリをインストールしようとした。

#プロジェクトのディレクトリに移動
$ cd /var/www/html/laravel-sample
#predisインストール
composer require predis/predis

そうするとcomposer require predis/predisで、下記エラーが発生

Installation failed, reverting ./composer.json to its original content.
The following exception is caused by a lack of memory or swap, or not having swap configured
Check https://getcomposer.org/doc/articles/troubleshooting.md#proc-open-fork-failed-errors for details

[ErrorException]                                   
proc_open(): fork failed - Cannot allocate memory

どうやらメモリが不足していてるらしい。

proc_open(): fork failed - Cannot allocate memory の解決法の記事によると下記コマンドでスワップファイル領域を確認とのこと。

$free -m
              total        used        free      shared  buff/cache   available
Mem:            983         109         707           7         166         725
Swap:             0           0           0

下記コマンドでスワップファイルの領域を作成。

#swap用のファイル作成
$ sudo /sbin/mkswap /var/swap.1
mkswap: /var/swap.1: パーミッション 0644 は安全な値ではありません。 0600 をお勧めします。
#パーミッションを600に変更
$sudo chmod 600 /var/swap.1
$sudo /sbin/mkswap /var/swap.1
$sudo /sbin/swapon /var/swap.1

準備を整えてpredisインストールコマンドを打つ。

$ composer require predis/predis

その際下記のような警告文が出てくるが、Laravelでcomposer updateするとPackage jakub-onderka/php-console-color is abandoned, you should avoid using it. Use php-parallel-lint/php-console-color instead.の記事によると警告解消に向けて対応中で、今の所放置していいそうだ。

Package jakub-onderka/php-console-color is abandoned, you should avoid using it. Use php-parallel-lint/php-console-color instead.
Package jakub-onderka/php-console-highlighter is abandoned, you should avoid using it. Use php-parallel-lint/php-console-highlighter instead.
Package jeremeamia/SuperClosure is abandoned, you should avoid using it. Use opis/closure instead.
Package mtdowling/cron-expression is abandoned, you should avoid using it. Use dragonmantank/cron-expression instead.
Package phpunit/php-token-stream is abandoned, you should avoid using it. No replacement was suggested.
Package phpunit/phpunit-mock-objects is abandoned, you should avoid using it. No replacement was suggested.

参考
https://weblabo.oscasierra.net/php-predis-1/
https://qiita.com/oitakazuki/items/9093d9ca4a341d2d6c4b
https://www.checksite.jp/ec2t2-add-swapfile/
https://getcomposer.org/doc/articles/troubleshooting.md#proc-open-fork-failed-errors
https://qiita.com/nasubi987/items/8c49bc3e5ec0df45f776

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1