Laravel5ではmcryptの拡張が必要です。mcryptはデフォルトのyumでは存在せず、epelとremiに存在します。またmcyrptはlibmcryptを先にインストールしておく必要があるので、順番的に
yum --enablerepo=epel install libmcrypt
yum --enablerepo=epel install mcrypt
でインストールできます!
[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
簡単ですね!!、、、とおもったらエラー。
the requested PHP extension mcrypt is missing from your system.
「mcryptがありません。」
えっ!いまmcryptいれたのに。どうやらPHP自体がremiでインストールしたものらしく、epelではなくremiでmcryptをインストールすべきみたいです。
[vagrant@localhost vagrant]$ yum remove mcrypt
[vagrant@localhost vagrant]$ yum --enablerepo=remi mcrypt
ここで注意はlibcryptはremiにないので、これまでアンインストールしてremiで入れ替えようとするとパッケージがないですよ、といわれてしまいます。なので、libcryptはそのままにmcryptだけremiで再インストール。
するとまたしてもエラー。
the requested PHP extension mcrypt is missing from your system.
なに・・・とおもいつつ、ちゃんとインストールされているか確認。
[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」。これは!と思い、
yum --enablerepo=remi update
よし、これでアップデート完了。
[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を削除してもう一度いれてみます。
[vagrant@localhost rocket]$ sudo yum remove php54-php-mcrypt.x86_64
[vagrant@localhost rocket]$ sudo yum install --enablerepo=remi php-mcrypt.x86_64
すると今度は入りました!!
ちなみにこんな感じ
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
ふう。。結構時間かかりました。