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

rog*_*awg 6 php mcrypt laravel composer-php osx-yosemite

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

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

如果我尝试使用此命令: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 Group Zend Engine v2.5.0,版权所有(c)1998-2014 Zend Technologies with Xdebug v2.2.3,Copyright(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在我的Path中.

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

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

非常感谢!

Ray*_*bel 13

我也遇到了同样的问题.你必须找到php.iniphp cli并添加extension=mcrypt.so

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

安装mcrypt扩展

我试过两个:

sudo apt-get install mcrypt
sudo apt-get install php5-mcrypt
Run Code Online (Sandbox Code Playgroud)

为CLI配置php.ini

然后,编辑的php.ini位于/opt/lampp/etc/php5/cli/php.iniextension=mcrypt.so动态扩展部分(任何地方是好的,我认为).不要忘记重新启动服务器.

尝试使用composer安装laravel

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

参考文献: 这里


Mun*_*f M 5

mac用户安装brew然后输入

brew install php56-mcrypt
Run Code Online (Sandbox Code Playgroud)

在终端

编辑

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

brew install homebrew/php/php56-mcrypt
Run Code Online (Sandbox Code Playgroud)