あずきみるくのあずきはニガテ - for Engineer

ひよっこプログラマがやってみたことやハマっちゃったことなど、備忘録的な感じで書いていきます。

Macで [mcrypt_module_open()] が見つかりません

環境設定は苦手です。。。あずきです。。。

できないながらも、粛々と進めてたPHP案件です。
が、Windowsでは、しれっと動いていた、
mcrypt_module_open()」


いざ、もじゅーるを何の気なしにmacに入れて動かそうとしたところ、、、

Call to undefined function mcrypt_module_open()

と、怒られました。

隣の環境設定のプロ曰く、WindowsPHPでは自動的に落としてきてくれるモノだそうですが、LinuxMacでは手動で入れてやらねばならないそうです。

・・・仕方ないので入れますorz

前回も使ったHomebrewを使うと楽なようです。
Homebrewの設定方法はこちらをご参照ください。azuki-milk.hatenablog.com

たたいたコマンドはこちら

$ brew search mcrypt
  libtomcrypt mcrypt php53-mcrypt php54-mcrypt php55-mcrypt php56-mcrypt
  homebrew/php/php53-mcrypt homebrew/php/php55-mcrypt
  homebrew/php/php54-mcrypt homebrew/php/php56-mcrypt
$ brew install php55-mcrypt

$ brew search mcrypt で、該当するモジュールを探し・・・
$ brew install php55-mcrypt で「php55-mcrypt 」を取り込む、って感じです。

phpの後の数字はおそらくバージョンです。
あずきのPCにはPHP5.5が入っているので、「php55-mcrypt 」を選択しました。


すると、こんな感じで出てきます。

==> Installing php55-mcrypt from josegonzalez/homebrew-php
==> Installing dependencies for php55-mcrypt: mhash, mcrypt
==> Installing php55-mcrypt dependency: mhash
==> Downloading https://downloads.sourceforge.net/project/mhash/mhash/0.9.9.9/mhash-0.9.9.
######################################################################## 100.0%
==> ./configure --prefix=/usr/local/Cellar/mhash/0.9.9.9
==> make install
🍺  /usr/local/Cellar/mhash/0.9.9.9: 17 files, 504K, built in 119 seconds
==> Installing php55-mcrypt dependency: mcrypt
==> Downloading https://downloads.sourceforge.net/project/mcrypt/MCrypt/2.6.8/mcrypt-2.6.8
######################################################################## 100.0%
==> Patching
patching file src/rfc2440.c
==> Downloading https://downloads.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt
######################################################################## 100.0%
==> ./configure --prefix=/usr/local/Cellar/mcrypt/2.6.8 --mandir=/usr/local/Cellar/mcrypt/
==> make install
==> ./configure --prefix=/usr/local/Cellar/mcrypt/2.6.8 --with-libmcrypt-prefix=/usr/local
==> make install
🍺  /usr/local/Cellar/mcrypt/2.6.8: 15 files, 448K, built in 2.9 minutes
==> Installing php55-mcrypt
==> Downloading https://www.php.net/get/php-5.5.22.tar.bz2/from/this/mirror
######################################################################## 100.0%
==> /usr/local/opt/php55/bin/phpize
==> ./configure --prefix=/usr/local/Cellar/php55-mcrypt/5.5.22 --with-php-config=/usr/loca
==> make
==> Caveats
To finish installing mcrypt for PHP 5.5:
  * /usr/local/etc/php/5.5/conf.d/ext-mcrypt.ini was created,
    do not forget to remove it upon extension removal.
  * Validate installation via one of the following methods:
  *
  * Using PHP from a webserver:
  * - Restart your webserver.
  * - Write a PHP page that calls "phpinfo();"
  * - Load it in a browser and look for the info on the mcrypt module.
  * - If you see it, you have been successful!
  *
  * Using PHP from the command line:
  * - Run "php -i" (command-line "phpinfo()")
  * - Look for the info on the mcrypt module.
  * - If you see it, you have been successful!
==> Summary
🍺  /usr/local/Cellar/php55-mcrypt/5.5.22: 3 files,  56K, built in 107 seconds

これのありがたいところは、その後のフォローまで書いてくれているところ。
「To finish installing mcrypt for PHP 5.5:」以下の手順に従って、やっていきます。

1)ext-mcrypt.ini  の確認と設定

「/usr/local/etc/php/5.5/conf.d/ext-mcrypt.ini 」が作られてるよ、ってあるので、実際に作られているか見に行ってみる。

できてたね。

中身は。。。

[mcrypt]
extension="/usr/local/opt/php55-mcrypt/mcrypt.so"

こんだけ。

で、これを
/usr/local/etc/php/5.5/php.ini
に加える。

2)確認

phpinfoで確認する方法でいきたいと思います。
「Using PHP from a webserver:」の方ね。

2−1. Apache再起動

再起動します。
あずきはMacの標準のApacheを使っているので。。。

$ sudo apachectl restart

と叩きます。

2−2. phpinfoの確認

てきとーにこんなファイルを作って、実行。

<?php
phpinfo();

f:id:azuki-milk-lush:20150426115732p:plain

いけたっぽい。


いやー、WindowsMacっていろいろちがうんだね。
Windowsはいろいろやってくれてることにびっくりです。。。