【问题标题】:mcrypt installed but laravel throwing error on installmcrypt 已安装,但 laravel 在安装时抛出错误
【发布时间】:2015-06-08 20:18:24
【问题描述】:

所以我一直在寻找 12 个小时来解决我在尝试为 php 安装 Laravel 框架时遇到的这个错误。我发现了很多关于它的不同帖子,但似乎没有一个有效。这就是问题所在,我通过所有步骤在我的计算机上获取 Laravel,它正在下载并安装 composer 到我的 /usr/local/bin/ 目录,然后运行这个命令:

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 并且它运行正确,我尝试将 extension=mcrypt.so 添加到 php.ini 文件中(可能在文件中的错误位置)但似乎没有任何效果。我没有使用 MAMP 我有自己的本地测试环境。

我在经营小牛队

我已经安装了 php 5.6.6

我正在运行 apache 2.2.26

【问题讨论】:

  • 你确定你修改的是正确的 php.ini 吗?有时命令行中运行的 php 可能与网络服务器使用的 php 不同。这通常是 WAMP 的情况。
  • phpinfo()中是否出现mcrypt?
  • @Machavity Yes phpinfo() 说 mcrypt 已启用
  • @user3158900 我似乎找不到任何其他 php.ini 文件,有没有办法检查 composer 将在哪里使用 php.ini 文件?
  • 只是为了确保,在命令行中输入php -m,看看它是否列出了mcrypt

标签: php laravel frameworks wamp mcrypt


【解决方案1】:

我在使用 mcrypt 和我的 mac 上运行的 laravel 框架时遇到了同样的问题。我正在运行 php 5.6.6。查看 phpinfo() 后似乎启用了 mcrypt 模块。命令行“php -v”命令显示我认为默认版本是 php 5.4。我通过

将 php5 添加到我的 bash 配置文件中

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

cd ~yourUsername

2) 编辑您的 bash 个人资料

sudo nano .bash_profile

2) 添加一行:

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

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

【讨论】:

    【解决方案2】:

    在 Ubuntu 上是以下两个命令:

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

    【讨论】:

    • 这对我有用!我没有安装 php5-mcrypt 包,但我的 $PATH 变量中已经有 php5,正如上面接受的答案所建议的那样。
    猜你喜欢
    • 2016-07-08
    • 2015-05-15
    • 1970-01-01
    • 2015-07-28
    • 2023-04-01
    • 2014-06-04
    • 2014-09-20
    • 2010-11-29
    • 1970-01-01
    相关资源
    最近更新 更多