Laravel 升级到 4.2 - 需要 mcrypt 扩展

Posted

技术标签:

【中文标题】Laravel 升级到 4.2 - 需要 mcrypt 扩展【英文标题】:Laravel upgrade to 4.2 - mcrypt extension required 【发布时间】:2014-10-22 16:16:32 【问题描述】:

我在尝试将 laravel 4.1 更新到 4.2 时遇到问题。

我在 ubuntu 上开始了那个项目,然后买了一个新的 macbook pro,看起来我错过了一些东西。

我正在使用 XAMPP 1.8.3

当我

composer update

我收到以下错误

Mcrypt php extension required.
Script php artisan clear-compiled handling the post-update-cmd event returned with an error

经过几次谷歌搜索,找到了自制软件,很容易

brew install mcrypt

但我收到以下警告

Warning: mcrypt-2.6.8 already installed

有什么想法吗?

【问题讨论】:

我在 Maverics 和 Mountain Lion 上安装 mcrypt 玩得很开心。我最终从头开始安装它,因为 homebew 在我的情况下似乎不起作用。不过你可能会有更好的运气。既然已经安装了,你的php.ini里面有extension=mcrypt.so吗?查看this tutorial 【参考方案1】:

假设您的 macbook pro 正在运行 Mavericks,那么问题很可能出在您的 $PATH 变量中。 php 命令默认为您的 mac 附带的内置 php。您可以通过输入终端echo $PATH;来验证这一点

如果它指向/usr/bin:/bin/usr/bin:/usr/local/bin 那么问题就在这里,因为本机mac php 不包含mcrypt。将您的 XAMP PHP 添加到您的路径变量应该可以解决问题,

export PATH=$PATH:\path\to\xamp\bin\php5.ver\bin

【讨论】:

感谢您的回答,我已经尝试过这个解决方案,但错误是一样的。在我的路径中没有文件夹 php5.v..,但那个是一个文件,所以在我的情况下,路径应该是 /Applications/XAMPP/bin/php-5.5.11 已解决 - 路径:/Applications/XAMPP/bin 从终端尝试输入 /Applications/XAMPP/bin/php5.5.11/bin php -m 查看 mcrypt 的输出。我相信你错过了最后一个 /bin?

以上是关于Laravel 升级到 4.2 - 需要 mcrypt 扩展的主要内容,如果未能解决你的问题,请参考以下文章

从 Laravel 4.2 升级到 5.0 后获取 POST 的路由未定义错误

如何将控制器中的 Laravel 4.2 beforeFilter 转换为 Laravel 5.2 中的自定义中间件

Laravel 4.2 + Laravel Valet + PHP 7 = 需要 Mcrypt PHP 扩展

同一服务器上的 Laravel 4.2 环境

centos7怎么升级内核到4.2

Laravel 4.2 将变量传递给主布局