LoginSignup
1
1

More than 5 years have passed since last update.

Mcrypt PHP extension required. でLaravelが動かなくなった時にやったこと

Posted at

macOS Sierraにアップデートした影響かわかりませんが、ローカル環境のLaravelが「Mcrypt PHP extension required.」で動かなくなった時にやったことを書きます。

環境

OS:macOS Sierra
PHP: 5.6

原因

PHPとMcryptのバージョンが合っていないのが原因でした。

やったこと

PHPのバージョンの確認

Laravelのpublicディレクトリ内に「phpinfo_test.php」を配置

phpinfo_test.php

<?php
phpinfo();
?>

ブラウザでローカルのphpinfo_test.phpにアクセスしてPHPのバージョンを確認。

スクリーンショット 2017-06-17 11.32.39.png

mcrypt のバージョンを確認

brewでmcryptをインストールしていたのでターミナルで調べました

ターミナル
brew list

結果
省略 mcrypt php55-mcrypt

phpとmcryptのバージョンがあっていないことがわかりました。
バージョンが合っていた場合、別の原因が考えられます。

現行のmcryptをアンインストール

ターミナル
brew uninstall php55-mcrypt
brew uninstall mcrypt

mcryptをインストール

まずはインストールすべきmcryptを探す

ターミナル
brew search mcrypt

mcryptをインストールします。

ターミナル
brew install homebrew/php/php56-mcrypt

※brewが別バージョンのPHPをインストールしていてインストールできない場合、別バージョンのPHPをアンロックする必要があります。(ターミナルでbrew unlink php55)

php.iniを編集

mcrypt.soの場所を探す

ターミナル
sudo find / -name mcrypt.so

結果
/usr/local/Cellar/php56-mcrypt/5.6.30_4/mcrypt.so

php.iniを編集。(php.iniの場所は環境によって違う場合があります。phpinfo_test.phpで確認できます。)

ターミナル
sudo vim /etc/php.ini 

以下を書き込みして保存
extension=/usr/local/Cellar/php56-mcrypt/5.6.30_4/mcrypt.s

apacheの再起動

ターミナル
sudo apachectl restart

まとめ

以上の対応で再びLaravelが動作しました!

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1