无法创建Laravel项目,因为缺少mcrypt扩展

时间:2015-03-15 02:17:30

标签: php laravel composer-php osx-yosemite mcrypt

好的,我看过很多关于此的帖子,我花了一整天的时间来解决这个问题,但没有成功。

我正在尝试创建一个Laravel项目。我正在使用Mac(Yosemite),它运行PHP 5.5.14。机器上还有一个旧版本的PHP。当我尝试使用" laravel new projectname "从命令行创建项目时,不会报告任何错误,但该命令只会创建一个以项目名称命名的空文件夹。我得到了"制作应用程序......"和#34;应用程序就绪!建立令人惊叹的东西"消息,但同样只有一个空文件夹。

如果我尝试使用此命令:  composer create-project laravel / laravel projectname

我明白了:

安装laravel / laravel(v5.0.16)    - 安装laravel / laravel(v5.0.16)     下载:100%

projectname 中创建项目 使用包信息加载composer存储库 从锁定文件安装依赖项(包括require-dev) 您的要求无法解析为可安装的软件包。

问题1      - laravel / framework v5.0.16的安装请求 - > laravel / framework [v5.0.16]可以满足。      - laravel / framework v5.0.16需要ext-mcrypt * - >系统中缺少所请求的PHP扩展名mcrypt。

在终端中,如果我输入: 哪个php 我得到:/ usr / bin / php / usr / bin / php -v 我明白了: PHP 5.5.14(cli)(建于2014年9月9日19:09:25) 版权所有(c)1997-2014 PHP小组 Zend Engine v2.5.0,版权所有(c)1998-2014 Zend Technologies     与Xdebug v2.2.3,版权所有(c)2002-2013,Derick Rethans

我用homebrew用这个命令安装autoconf和mcrypt: brew install autoconf mcrypt

如果我再次运行该命令,我会得到: 警告:已安装autoconf-2.69 警告:已经安装了mcrypt-2.6.8

由于我一直收到错误,我认为它安装在错误的地方所以,我使用这些说明编译并安装了mcrypt: [安装mcrypt php扩展] [1]。我在安装过程中使用了PHP 5.5.14版。 Mcrypt安装在这个目录中:/ usr / lib / php / extensions / no-debug-non-zts-20121212 /

我重启了Apache。我检查了我的.bash_profile以确保/ usr / bin在我的路径中。

如果我使用phpinfo()创建一个页面并在浏览器中查看它,我会看到mcrypt列在"模块作者"页面的一部分。它只列出了创建模块的人员的姓名。

我很难过。我期待着人们可能提供的任何建议(我真的不想安装虚拟盒子,或类似的东西。当然,我可以将这个模块安装在正确的位置!)

非常感谢!

5 个答案:

答案 0 :(得分:13)

我也遇到了同样的问题。 您必须为php cli找到php.ini并添加extension=mcrypt.so

我的系统正在运行预安装PHP的LAMPP服务器。所以,这就是我的工作:

安装mcrypt扩展程序

我试过了两个:

sudo apt-get install mcrypt
sudo apt-get install php5-mcrypt

为CLI配置php.ini

然后,在动态扩展部分编辑位于/opt/lampp/etc/php5/cli/php.ini添加extension=mcrypt.so的php.ini(我觉得任何地方都可以)。别忘了重新启动服务器。

尝试使用composer安装laravel

现在,您可以运行任何想要安装laravel的方法。我手动下载Laravel 5,解压缩,然后使用composer install命令安装。我认为你的命令composer create-project laravel/laravel projectname也会顺利运行。

参考文献: here

答案 1 :(得分:5)

mac用户安装brew然后输入

brew install php56-mcrypt

在终端

修改

如果您使用上面的行获得任何错误,请尝试此命令

brew install homebrew/php/php56-mcrypt

答案 2 :(得分:2)

请按照以下步骤操作:

  1. cd /etc/php5/cli/conf.d
  2. ln -s ../../mods-available/mcrypt.ini 20-mcrypt.ini
  3. 为我工作。

答案 3 :(得分:0)

For MAC users,

brew install homebrew/php/php56-mcrypt

答案 4 :(得分:-2)

经过无数次试验后,我也无法以这种方式工作。所以,我尝试了另一种方式。

  

composer global require" laravel / installer = ~1.1"

     

laravel new projectname

这很成功。