Composer PHPSpreadsheet在启用gd扩展时会给出错误

时间:2018-05-17 07:22:22

标签: php composer-php phpspreadsheet

PHP版本5.6.25 扩展已启用PHP_Gd2

下载PHPSpreadsheet - 从GitHub开发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:\php\php.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扩展

最令人惊讶的是同一个composer命令在1个PC上运行,其中PHP版本为5.6.35并且在另一个PHP版本为5.6.25的PC中给出错误。是否必须对版本做任何事情?根据PHPSpreadsheet的要求,它适用于PHP 5.6或更高版本。

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

试试这个..