我试图在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文件

其他回答

Ubuntu 14.04

sudo apt-get install php5-mcrypt
sudo php5enmod mcrypt

Ubuntu 16.04

sudo apt-get install php-mcrypt
sudo phpenmod mcrypt

Ubuntu 18.04

sudo apt install php7.0-mcrypt
sudo phpenmod mcrypt

or

sudo apt install php7.2-mcrypt
sudo phpenmod mcrypt

自带冲泡的OSX

$ brew install mcrypt php70-mcrypt

我运行的是PHP 7.0。X,所以将“php70”更改为您的版本,如果您正在使用不同的版本。 正如在其他答案中所述,您可以使用$ php -v查看您的php版本。

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

brew install homebrew/php/php56-mcrypt

干杯!

你需要一个all in one环境。您可以使用MAMP或XAMPP或任何其他工具。在安装这些工具之一之后,您将需要编辑(创建). bash_profile(假设您使用bash)。

或者甚至简单和更专业的你可以使用Laravel Homestead。

这里是官方文档的链接:http://laravel.com/docs/5.0/homestead

杰弗里还有一个关于它的免费教程: https://laracasts.com/series/laravel-5-fundamentals/episodes/2

我建议您使用homestead,因为您将预先安装以下所有工具。

Ubuntu 14.04 PHP 5.6 HHVM Nginx MySQL Postgres 节点(带有低沉、咕哝和吞咽) 复述, Memcached Beanstalkd Laravel特使 面料+ HipChat扩展

只是为了美味,

yum install php-mcrypt
service httpd restart
chown -R apache:apache apppath

也许你需要安装remi repo