Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
12
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

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

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       

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
12
Help us understand the problem. What are the problem?