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 文件中。