我试图在OSX上使用Laravel 4中的迁移函数。然而,我得到以下错误:

Laravel requires the Mcrypt PHP extension.

据我所知,它已经启用了(见下图)。

出了什么问题,我该如何解决?


当前回答

这在我的Linux Mint本地环境https://askubuntu.com/questions/350942/cannot-get-mcrypt-for-php5上解决了它

我需要在以下文件夹/etc/php5/apache2/conf.d/mcrypt.ini和/etc/php5/cli/conf.d/mcrypt.ini中创建一个符号链接到我的/etc/php5/conf.d/mcrypt.ini文件

其他回答

对于OSX上的非MAMP或XAMPP用户(已安装自制程序):

brew install homebrew/php/php56-mcrypt

干杯!

对于ubuntu,如果其他步骤不工作,请尝试以下步骤:

cd ~ Sudo apt-get删除php5-mcrypt 安装php5-mcrypt Sudo php5enmod McRypt Sudo服务apache2重启

希望这能有所帮助。谢谢!

这在我的Linux Mint本地环境https://askubuntu.com/questions/350942/cannot-get-mcrypt-for-php5上解决了它

我需要在以下文件夹/etc/php5/apache2/conf.d/mcrypt.ini和/etc/php5/cli/conf.d/mcrypt.ini中创建一个符号链接到我的/etc/php5/conf.d/mcrypt.ini文件

对于今天仍然来到这里的人:

Laravel不再需要mcrypt扩展了。McRypt已经过时,libmcrypt的最后一次更新是在2007年。Laravel 4.2也过时了,没有更多的支持。最好(=安全)的解决方案是更新到Laravel 9。x+ (Laravel 8;X还是可以的。但如果你正在升级,那么就升级到最新版本)。

Mcrypt于2015年6月从Laravel删除:https://github.com/laravel/framework/pull/9041

使用Ubuntu

sudo php5enmod mcrypt

帮我搞定了。你不需要重新启动Apache,因为你只需要从CLI使用PHP。