【问题标题】:I have face a problem to install maatwebsite/excel on laravel 8 | php 8?我在 laravel 8 上安装 maatwebsite/excel 时遇到问题 | php 8?
【发布时间】:2021-08-06 23:10:51
【问题描述】:

我在 laravel 8 上安装 maatwebsite/excel 时遇到了这个问题。我该如何解决? 注意:PHP 版本运行 8。

【问题讨论】:

  • 貌似需要安装phpoffice/phpspreadsheet,需要为PHP安装gd扩展
  • 请分享更多详细信息,例如文本形式的错误消息以及您解决问题的尝试
  • 你解决了这个问题吗?出了什么问题?
  • @amirz98 错误信息中列出了问题,解决这个问题的方法是经常在 SO 上询问,因此找到解决方案应该不会太难

标签: php laravel composer-php laravel-excel


【解决方案1】:

问题在于 Laravel Excel 要求。似乎没有安装PhpSpreadsheet: ^1.15。这是 Laravel-Excel 3.1 的 requirements 列表,

PHP: ^7.2\|^8.0
Laravel: ^5.8
PhpSpreadsheet: ^1.15
PHP extension php_zip enabled
PHP extension php_xml enabled
PHP extension php_gd2 enabled
PHP extension php_iconv enabled
PHP extension php_simplexml enabled
PHP extension php_xmlreader enabled
PHP extension php_zlib enabled

确保在您的php.ini 上安装并启用这些。还要确保composer.json 上的 php 版本设置如下:

"require": {
    "php": "^7.2|^8.0",
},

而不是像 "php": ">=7.2" 这样的东西。查看this 了解更多信息。请让我知道它是否有效。

【讨论】:

  • 请分享更多细节。为什么要更改composer.json 中的PHP 要求?在应用程序的配置中设置时这有什么影响吗?
  • @NicoHaase 可能是here提到的兼容性问题,所以我建议尝试更改版本。
【解决方案2】:

我解决了这个问题

  1. 我只是从 php.ini 文件中启用 PHP gd extension
  2. 安装PHP包PhpSpreadsheet

【讨论】:

    【解决方案3】:

    我只想在这里分享另一个相关的答案。如果您在 unix (linux) 上运行,请尝试使用命令行安装 php-gd。尝试检查与您的系统相关的其他答案。

    sudo apt-get update
    sudo apt-get install php8.0-gd
    

    相关:

    How to install PHP GD in Ubuntu

    install php-gd ext on Debian

    Issue with enabling GD in PHP

    如果您使用 windows。使用此命令。

    composer 需要 maatwebsite/excel --ignore-platform-reqs

    这个问题只发生在 php 8.x 上!也许在最新的 php 7 上。问题与上述相同,即使 php-gd 处于活动状态,仍然失败。输入时

    composer 需要 maatwebsite/excel

    错误还是一样。检查时使用

    php -i
    

    (与控制台中的 phpinfo 基本相同)。我们可以看到 php gd 处于活动状态。暂时不推荐这个答案。与此问题相关的问题仍在修复中。

    相关链接:

    https://github.com/Maatwebsite/Laravel-Excel/discussions/3191

    支持PHP8,请确保使用上述包的3.1.30。要查看其他问题,请阅读此链接。

    https://github.com/Maatwebsite/Laravel-Excel/issues/2936

    【讨论】:

    • 此解决方案旨在不降级 php。正如 github 上提到的,正在对 php 8 新行为进行改进
    【解决方案4】:
    1. 删除 composer.lock (json) 然后在命令下面运行

    2. composer 需要 phpoffice/phpspreadsheet

    3. composer 需要 maatwebsite/excel

    它正在工作

    【讨论】:

    • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
    • 删除整个composer.json 听起来是个坏主意。你能解释一下这应该如何神奇地解决给定的错误吗?
    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 2013-03-20
    • 2021-01-21
    • 2023-01-25
    • 1970-01-01
    • 2019-12-14
    • 1970-01-01
    • 2021-04-03
    • 1970-01-01
    • 2014-12-03
    相关资源
    最近更新 更多