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

Laravel requires the Mcrypt PHP extension.

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

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


当前回答

安装McRypt Sudo php5enmod McRypt

其他回答

你安装了MAMP吗?

在终端中使用哪个php来查看您正在使用的php版本。

如果它不是来自MAMP的PHP版本,您应该在用户的主目录中编辑或添加.bash_profile,即:cd ~

在.bash_profile中添加以下行:

export PATH=/Applications/MAMP/bin/php/php5.4.10/bin:$PATH

编辑:首先你应该使用cd /Applications/MAMP/bin/php命令来检查你使用的是MAMP中的哪个php版本,然后用上面的php版本替换。

然后重新启动终端,查看您现在使用的是哪个PHP。

现在应该可以工作了。

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

brew install homebrew/php/php56-mcrypt

干杯!

或者,使用:

sudo apt-get install php5-mcrypt

不确定这是否适用于标准的PHP安装-我使用包安装了PHP 5.5.7:

sudo add-apt-repository ppa:ondrej/php5 
sudo apt-get update

让Laravel在Apache上工作

PHP版本:PHP 5.5.9

Ubuntu版本:14.04

我有一个关于窗户的laravel项目。当我把它复制到ubuntu服务器时,我开始得到McRypt错误。这是经过数小时的反复试验后得出的结论

让工匠指挥工作

(如果您在使用artisan命令行工具时出现McRypt错误)

我做了大量的试验和错误,所以每次我运行php5enmod命令时,我都有错误消息。但是在重新安装时没有错误消息。在这一步之后,我得到了工匠指挥工作

sudo rm /etc/php5/mods-available/mcrypt.ini
sudo apt-get purge php5-mcrypt
sudo apt-get install mcrypt
sudo apt-get install php5-mcrypt
sudo php5enmod mcrypt

修复浏览器错误

(如果您在访问本地laravel索引页面时浏览器出现McRypt错误)

sudo nano /etc/php5/apache2/php.ini

在PHP ini的动态编译扩展部分中添加以下行

extension=mcrypt.so

重新启动apache服务器,清除laravel缓存和所有工作

Ubuntu (PHP-FPM,Nginx)

sudo apt-get install php5-mcrypt

安装php5-mcrypt后

你必须使一个符号链接到ini文件在mods-available:

sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/mcrypt.ini

启用:

sudo php5enmod mcrypt

重启php5-fpm:

sudo service php5-fpm restart

更详细地