Laravel5の環境設定のためにmcryptをPHPに追加する（ので躓いたのでメモ）

Laravel5ではmcryptの拡張が必要です。mcryptはデフォルトのyumでは存在せず、epelとremiに存在します。またmcyrptはlibmcryptを先にインストールしておく必要があるので、順番的に

```linux
yum --enablerepo=epel install libmcrypt
yum --enablerepo=epel install mcrypt
```

でインストールできます！

```linux
[vagrant@localhost vagrant]$ yum list installed | grep mcrypt
libmcrypt.x86_64                     2.5.8-9.el6                    @epel       
mcrypt.x86_64                        2.6.8-10.el6                   @epel 
```

簡単ですね！！、、、とおもったらエラー。

```linux
the requested PHP extension mcrypt is missing from your system.
```

「mcryptがありません。」
えっ！いまmcryptいれたのに。どうやらPHP自体がremiでインストールしたものらしく、epelではなくremiでmcryptをインストールすべきみたいです。

```linux
[vagrant@localhost vagrant]$ yum remove mcrypt
[vagrant@localhost vagrant]$ yum --enablerepo=remi mcrypt
```

ここで注意はlibcryptはremiにないので、これまでアンインストールしてremiで入れ替えようとするとパッケージがないですよ、といわれてしまいます。なので、libcryptはそのままにmcryptだけremiで再インストール。

するとまたしてもエラー。

```linux
the requested PHP extension mcrypt is missing from your system.
```

なに・・・とおもいつつ、ちゃんとインストールされているか確認。

```linux
[vagrant@localhost rocket]$ yum list installed | grep php
php.x86_64                           5.4.35-1.el6.remi              @remi       
php-cli.x86_64                       5.4.35-1.el6.remi              @remi       
php-common.x86_64                    5.4.35-1.el6.remi              @remi       
php-devel.x86_64                     5.4.35-1.el6.remi              @remi       
php-gd.x86_64                        5.4.35-1.el6.remi              @remi       
php-mbstring.x86_64                  5.4.35-1.el6.remi              @remi       
php-mysql.x86_64                     5.4.35-1.el6.remi              @remi       
php-pdo.x86_64                       5.4.35-1.el6.remi              @remi       
php-pgsql.x86_64                     5.4.35-1.el6.remi              @remi       
php54-php-common.x86_64              5.4.39-1.el6.remi              @remi       
php54-php-mcrypt.x86_64              5.4.39-1.el6.remi              @remi       
php54-runtime.x86_64                 2.1-1.el6.remi                 @remi    
```

うん、されている。。。あ！versionがちょっと違う！！PHPが「5.4.35」に対して、mcryptは「5.4.39」。これは！と思い、

```linux
yum --enablerepo=remi update
```

よし、これでアップデート完了。

```linux
[vagrant@localhost rocket]$ yum list installed | grep php
php.x86_64                           5.4.39-1.el6.remi              @remi       
php-cli.x86_64                       5.4.39-1.el6.remi              @remi       
php-common.x86_64                    5.4.39-1.el6.remi              @remi       
php-devel.x86_64                     5.4.39-1.el6.remi              @remi       
php-gd.x86_64                        5.4.39-1.el6.remi              @remi       
php-mbstring.x86_64                  5.4.39-1.el6.remi              @remi       
php-mysql.x86_64                     5.4.39-1.el6.remi              @remi       
php-pdo.x86_64                       5.4.39-1.el6.remi              @remi       
php-pgsql.x86_64                     5.4.39-1.el6.remi              @remi       
php54-php-common.x86_64              5.4.39-1.el6.remi              @remi       
php54-php-mcrypt.x86_64              5.4.39-1.el6.remi              @remi       
php54-runtime.x86_64                 2.1-1.el6.remi                 @remi    
```

すべて5.4.39に揃いました。

しかしこれでもだめ！mcryptがmissingといわれてしまいます。結果の画面のにらめっこします。するとまたしてもひらめきが。なぜ`php-〜`と`php54-〜`の二つがあるんだ？これおかしくないか？？

ということで、一旦mcryptを削除してもう一度いれてみます。

```linux
[vagrant@localhost rocket]$ sudo yum remove php54-php-mcrypt.x86_64
[vagrant@localhost rocket]$ sudo yum install --enablerepo=remi php-mcrypt.x86_64 
```

すると今度は入りました！！
ちなみにこんな感じ

```linux
php.x86_64                           5.4.39-1.el6.remi              @remi       
php-cli.x86_64                       5.4.39-1.el6.remi              @remi       
php-common.x86_64                    5.4.39-1.el6.remi              @remi       
php-devel.x86_64                     5.4.39-1.el6.remi              @remi       
php-gd.x86_64                        5.4.39-1.el6.remi              @remi       
php-mbstring.x86_64                  5.4.39-1.el6.remi              @remi       
php-mcrypt.x86_64                    5.4.39-1.el6.remi              @remi       
php-mysql.x86_64                     5.4.39-1.el6.remi              @remi       
php-pdo.x86_64                       5.4.39-1.el6.remi              @remi       
php-pgsql.x86_64                     5.4.39-1.el6.remi              @remi       
php-theseer-fDOMDocument.noarch      1.6.0-2.el6.remi               @remi       
php-xml.x86_64                       5.4.39-1.el6.remi              @remi       
php54-php-common.x86_64              5.4.39-1.el6.remi              @remi       
php54-runtime.x86_64                 2.1-1.el6.remi                 @remi       
```

ふう。。結構時間かかりました。