2015-04-03 97 views
1

所以我一直在寻找12小时解决这个错误,当我试图安装Laravel框架的PHP。我发现了许多不同的帖子,但似乎没有任何工作。继承人的问题,我经历的所有步骤获得Laravel我的电脑,这是网上下载并安装作曲家我的/ usr/local/bin目录/目录,然后运行这个命令上:mcrypt安装,但laravel抛出错误安装

Desktop $ composer create-project laravel/laravel learning-laravel 

,我得到这个错误:

Your requirements could not be resolved to an installable set of packages. 
Problem 1 
- Installation request for laravel/framework v5.0.16 -> satisfiable by laravel/framework[v5.0.16]. 
- laravel/framework v5.0.16 requires ext-mcrypt * -> the requested PHP extension mcrypt is missing from your system. 

我已删除并重新安装PHP的,我已经跑了一个脚本,如果安装mcrypt的,它运行真实的看见,我曾尝试在添加扩展= mcrypt.so到php.ini文件(或许文件中有错误的地方),但似乎没有任何工作。我不使用MAMP我有我自己的本地测试环境。

我正在小牛

我有PHP 5.6.6安装

我运行的Apache 2.2.26

+0

你肯定要修改了正确的php.ini?有时,在命令行中运行的php可能与Web服务器使用的php不一样。 WAMP通常是这种情况。 – user3158900 2015-04-03 18:03:47

+0

mcrypt是否出现在'phpinfo()'中? – Machavity 2015-04-03 18:05:10

+0

@Machavity是的phpinfo()说mcrypt启用 – Tyler 2015-04-03 18:07:23

回答

3

我是有mcrypt的同样的问题,在我的Mac上运行的laravel框架。我正在运行PHP 5.6.6。 mcrypt模块似乎在查看phpinfo()后启用。命令行“php -v”命令显示默认版本是php 5.4我认为。我加了PHP5我的bash的个人资料通过

1)进入你的用户根目录文件夹:

cd ~yourUsername 

2)编辑您的bash配置文件

sudo nano .bash_profile 

2)添加一行:

export PATH="/usr/local/php5/bin:$PATH" 

这对我有效。请纠正我,如果我错了,但我认为无论出于何种原因,默认版本的PHP正在使用不正确的mcrypt配置。这改变了从命令行使用的php版本,并修复了问题。现在当我输入“php -v”时,出现正确的php 5.6.6版本。从那以后,mcrypt就没有问题了。

1

Ubuntu上它是以下两条命令:

sudo apt-get install php5-mcrypt 
sudo ln -s /etc/php5/mods-available/mcrypt.ini /etc/php5/cli/conf.d/ 
+1

这对我有效!我没有安装php5-mcrypt软件包,但是我的$ PATH变量已经有了php5,正如上面接受的答案所建议的那样。 – deusofnull 2016-04-05 15:58:26