Mcrypt PHP extension required. でLaravelが動かなくなった時にやったこと
macOS Sierraにアップデートした影響かわかりませんが、ローカル環境のLaravelが「Mcrypt PHP extension required.」で動かなくなった時にやったことを書きます。
環境
OS:macOS Sierra
PHP: 5.6
原因
PHPとMcryptのバージョンが合っていないのが原因でした。
やったこと
PHPのバージョンの確認
Laravelのpublicディレクトリ内に「phpinfo_test.php」を配置
<?php
phpinfo();
?>
ブラウザでローカルのphpinfo_test.phpにアクセスしてPHPのバージョンを確認。
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が動作しました!
Author And Source
この問題について(Mcrypt PHP extension required. でLaravelが動かなくなった時にやったこと), 我々は、より多くの情報をここで見つけました https://qiita.com/ux_design_tokyo/items/19803717be4638bf76e2著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .