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

Laravel requires the Mcrypt PHP extension.

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

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


当前回答

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

其他回答

只是为了美味,

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

也许你需要安装remi repo

扩展一下@JetLaggy:

在一次又一次尝试用MAMP目录修改.bash_profile后,我改变了MAMP php目录的文件权限,并能够获得“which php”以显示正确的目录。问题是其他函数不起作用,比如'php -v'。

所以我更新了MAMP。http://documentation.mamp.info/en/mamp/installation/updating-mamp

这对我的特殊设置很有效。我必须调整我的PATH以反映更新的PHP版本,但一旦我这样做了,一切都工作了!

你需要一个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扩展

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

brew install homebrew/php/php56-mcrypt

干杯!

如果你正在使用Z Shell,只需执行以下操作:

打开终端 Sudo nano ~/.zshrc 粘贴;导出路径= /应用程序/ MAMP / bin / php / php5.6.10 / bin:美元的道路 保存 执行source ~/.zshrc命令 运行该php -您应该得到MAMP 5.6.10路径

5.6.10是你在MAMP中设置的PHP版本。