mcrypt extension is required


OS X Mavericksにアップデート後、phalconのフレームワークを使ってるサイトで掲題のエラーが出ました。

エラー文見る限り、mcryptが動いてないと思い、
infophp()を確認すると、案の定mcryptが読み込まれていませんでした。

そこで、php.iniで

extension = mcrypt.so

と指定し、infophpを確認しましたが、それでも読み込まれない。

数時間悩みましたが、

extension_dirでmcryptのパスが指定されていない。

というのが原因でした。

解決策は、

まずはコマンドでmcryptの位置を確認し、

$ sudo find /usr -name mcrypt.so

/usr/local/Cellar/php54/5.4.15/lib/php/extensions/no-debug-non-zts-20100525/mcrypt.so

php.iniで

extension_dir = "/usr/local/Cellar/php54/5.4.15/lib/php/extensions/no-debug-non-zts-20100525/"

と記述し、apacheを再起動して完了です。

$ sudo apachectl restart

mcryptインストールしているのに、読み込まれていないという方は一度確認してみるといいかもです。