新的 Laravel 安装给 Mcrypt “错误”。 (OSX)

Posted

技术标签:

【中文标题】新的 Laravel 安装给 Mcrypt “错误”。 (OSX)【英文标题】:Fresh Laravel install giving Mcrypt "error". (OSX) 【发布时间】:2014-06-04 06:58:18 【问题描述】:

我通过运行安装 laravel:

laravel new testing

它的回应是:

申请准备就绪!打造令人惊叹的东西。

然而,当我访问 public/index.php 时,它会显示一个空白页面,上面写着:

需要 Mcrypt PHP 扩展。

当我运行 php -m 时,它没有列出 Mcrypt。

我尝试使用 composer 安装它,通过运行:

composer create-project laravel/laravel laravel_composer --prefer-dist

结果如下:

Writing lock file
Generating autoload files
Mcrypt PHP extension required.
Script php artisan clear-compiled handling the post-install-cmd event returned with an error



[RuntimeException]  
Error Output:

“错误输出:”之后没有任何附加内容:

【问题讨论】:

它可能需要安装 mcrypt 库;) 请提供更多信息,您使用的是哪个 PHP 可执行文件?是 OS X 自带的,还是 MAMP 或其他的? 用 mcrypt 重新编译 PHP。 @RonniEgeriis 我正在使用 php 的默认安装位置。 '/usr/bin/php' 我建议使用 MAMP 并将默认的 php 符号链接指向 MAMP 安装中的 php 二进制文件。这是迄今为止最简单的解决方案。您也可以直接调用 php 二进制文件,例如/Applications/MAMP/bin/php/php5.4.10/bin/php script.php @ChinDave 你应该发布一个答案并接受它,这样这个问题就不会出现在未回答的列表中。 【参考方案1】:

OP 的解决方案。

我通过使用自制软件更新到 php55 和 php55-mcrypt 解决了这个问题。

我遇到了安装后 php 版本冲突的问题,我通过编辑 apache2 httpd.conf 属性 LoadModule php5_module 解决了这个问题。通过取消注释并更改默认文件路径以查找local/php5-5.5.11-20140408-141340/libphp5.so

Mcrypt 不再是问题,apache 正在定位正确的 php。我要做的最后一件事是使用chmod -R o+w storage 更改laravel_project/app/storage 的权限

【讨论】:

以上是关于新的 Laravel 安装给 Mcrypt “错误”。 (OSX)的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 4 - 需要 Mcrypt 扩展

Laravel 升级到 4.2 - 需要 mcrypt 扩展

Laravel Artisan Migrate 安装 [需要 mcrypt php 扩展]

找不到 mcrypt => 调用未定义的函数 Laravel\mcrypt_create_iv()

如何在 CentOS 7.0 x64 上安装 MCrypt PHP 扩展

Homestead Laravel -- 需要 Mcrypt PHP 扩展