【问题标题】:Memory exhausted and PHP Version mismatch errors. Not able to install image intervention laravel 5.5 package内存耗尽和 PHP 版本不匹配错误。无法安装镜像干预 laravel 5.5 包
【发布时间】:2020-06-16 15:37:35
【问题描述】:

我想更改图像的颜色。所以我正在尝试使用 laravel 的图像/干预。 按照他们的文档: http://image.intervention.io/getting_started/installation https://packagist.org/packages/intervention/image

当我尝试以下操作时,出现内存耗尽错误:

1。作曲家需要干预/图像

错误: PHP 致命错误:在 phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/DependencyResolver/Solver.php 第 223 行中允许的内存大小为 1610612736 字节已用尽(尝试分配 4096 字节)

致命错误:第 223 行 phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/DependencyResolver/Solver.php 中允许的内存大小为 1610612736 字节已用尽(尝试分配 4096 字节)

查看https://getcomposer.org/doc/articles/troubleshooting.md#memory-limit-errors 了解有关如何处理内存不足错误的更多信息。 E:\xampp\htdocs\Myproject>php -r "echo ini_get('memory_limit').PHP_EOL;" 512M

所以,我按照下面的链接,从 memory_limit=512M 增加到 memory_limit=-1 https://getcomposer.org/doc/articles/troubleshooting.md#memory-limit-errors

现在,再次尝试了这个命令composer需要干预/图像。现在我得到了一个不同的错误:

错误: 您的需求无法解析为一组可安装的软件包。

问题 1 - 这个包需要 php ~7.2.0 但你的 PHP 版本 (7.3.11) 不满足这个要求。 问题 2 - mpociot/vat-calculator dev-master 需要 ext-soap * -> 您的系统中缺少请求的 PHP 扩展 soap。 - mpociot/vat-calculator dev-master 需要 ext-soap * -> 您的系统中缺少请求的 PHP 扩展 soap。 - mpociot/vat-calculator dev-master 需要 ext-soap * -> 您的系统中缺少请求的 PHP 扩展 soap。 - mpociot/vat-calculator dev-master 的安装请求 -> 可由 mpociot/vat-calculator[dev-master] 满足。

要启用扩展,请确认它们已在您的 .ini 文件中启用: -E:\xampp\php\php.ini 您也可以在终端中运行php --ini,以查看 PHP 在 CLI 模式下使用了哪些文件。

安装失败,正在将 ./composer.json 还原为其原始内容。

为什么会出现这些错误? 如何在我的应用程序中安装图像/干预包我使用的是 laravel 5.5,PHP 7.3.11

正如错误所说,我必须安装 7.2.0 php 版本吗?或者有没有其他解决方案?

【问题讨论】:

  • 您好,第一个问题似乎意味着您在yourcomposer.json 中依赖于PHP。也许你需要更新它。第二个问题是因为您在 PHP 中缺少 soap 扩展名。尝试安装它。这个question/anwser 可以帮助你。
  • @GrenierJ,我启用了该链接中给出的肥皂扩展。肥皂错误现在消失了。如何找到需要更新的依赖项?作曲家诊断命令对此有帮助吗?
  • 我认为您的 composer.json 中有类似 "php": "~7.2", 的内容
  • 所以你需要把它改成^7.2来允许所有高于7.2的PHP版本。并运行composer update php
  • 是的,你可以忽略这个。只有您有一些使用废弃依赖项的依赖项(也许更新它们)。 Whit composer depends --tree <dependecyName> 你可以看到为什么需要这个依赖,也许可以尝试更新父依赖。

标签: laravel-5 composer-php intervention


【解决方案1】:

出现第一个问题是因为在您的composer.json 中有类似"php": "~7.2" 的内容。更改为 "php": ^7.2" 以允许所有 PHP 次要版本高于 7.2。运行composer update php修复composer.lock

第二个问题是因为您在 PHP 中缺少soap 扩展。尝试安装它。这个question/anwser 可以帮助你。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-29
    • 2021-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-05
    • 2015-07-02
    • 2018-09-21
    相关资源
    最近更新 更多