作曲家 PHPSpreadsheet 为 gd 扩展提供错误,即使它已启用



PHP 版本 5.6.25 启用扩展PHP_Gd2

从 GitHub 下载了 PHPSpreadsheet-development zip 文件。 将此文件解压缩到项目文件夹 C:\wamp\project。

从项目文件夹运行以下命令时:

composer require phpoffice/phpspreadsheet

收到以下错误: 有人可以帮助我解决以下错误吗?

Using version ^1.2 for phpoffice/phpspreadsheet
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- phpoffice/phpspreadsheet 1.2.1 requires ext-gd * -> the requested PHP 
extension gd is missing from your system.
- phpoffice/phpspreadsheet 1.2.0 requires ext-gd * -> the requested PHP 
extension gd is missing from your system.
- Installation request for phpoffice/phpspreadsheet ^1.2 -> satisfiable by 
phpoffice/phpspreadsheet[1.2.0, 1.2.1].
To enable extensions, verify that they are enabled in your .ini files:
- C:phpphp.ini
You can also run php --ini inside terminal to see which files are used by 
PHP in CLI mode.
Installation failed, deleting ./composer.json.

我已经验证了 php gd2 扩展是否已启用,如下所示:

  • 为了验证是否启用了 gd2 扩展,我手动检查了 php.ini文件 Windows 扩展部分,它显示已启用 gd2 扩展。"扩展=php_gd2.dll"。
  • 使用 phpinfo() 检查它显示已启用 gd2 扩展

最令人惊讶的是,在 PHP 版本为 5.6.35 的 1 台 PC 上运行相同的作曲家命令,并在另一台 PHP 版本为 5.6.25 的 PC 上给出上述错误。它与版本有什么关系吗?根据 PHPSpreadsheet 的要求,它应该适用于 PHP 5.6 或更高版本。

我在Windows机器上使用Wamp本地网络服务器时遇到了同样的问题。我的网络服务器从/bin/php/php5.6.24/phpForApache.ini加载PHP配置(GD2分机加载),但作曲家检查未使用的官方/bin/php/php5.6.24/php.ini,并且只加载了一些默认扩展。

我知道这是依赖于 Wamp 的情况,但可能是它 - 服务器和作曲家读取不同的 php.ini。

我已经通过成功运行 composer 将在我的项目文件夹中创建的"供应商"文件夹复制到 PHP 版本为 5.6.35 并能够使用 phpSpreadsheet 的另一台机器上的项目文件夹。

作曲家需要"ext-gd:*" --ignore-platform-reqs

试试这个..

将 extension=php_gd.dll 添加到 php.ini 文件中。

相关内容

  • 没有找到相关文章

最新更新