如何在 Heroku 上安装 GD

How to install GD on Heroku

我 运行 Laravel 5.3 正在尝试进行一些图像处理。我收到此错误:此 PHP 安装不提供 GD 库扩展。

我试过将 gd 放入我的 composer.json

"require": {
    "php": ">=5.6.4",
    "laravel/framework": "5.3.*",
    "mews/purifier": "~2.0",
    "vinkla/hashids": "^2.4",
    "barryvdh/laravel-debugbar": "^2.2",
    "fzaninotto/faker": "~1.4",
    "intervention/image": "^2.3",
    "gd": "*"
},

但没有用。我也试过:

"ext-gd": "*" 

那也没用。我查看了此页面 https://devcenter.heroku.com/articles/php-support,上面写着:

以下内置扩展已构建为“共享”,可以通过 composer.json(括号中给出的内部标识符名称)启用

GD(gd)

"gd": "*"添加到composer.json并执行composer update

如果这不起作用,请添加 "ext-gd":" *" 并进行作曲家更新

我 运行 composer require ext-gd 并且 git push heroku master 它确实有效。

我尝试将 "gd": "*" 添加到 composer.json 并执行 composer update 但是当推送到 Heroku 时遇到错误 Class 'Symfony\Component\HttpFoundation\InputBag' not found。我认为这不仅是用 composer update

更新 ext-gd

在composer.json文件中

"require": {
        "facade/ignition": "^2.3.6",
        "fzaninotto/faker": "^1.9.1",
        "mockery/mockery": "^1.3.1",
        "nunomaduro/collision": "^5.0",
        "phpunit/phpunit": "^9.3",
        "ext-gd": "*"

    },

更新 composer 并推送到 origin 分支

composer update

git add .

git commit -m "message"

git push origin <branch name>

在 Heroku 重建您的项目

https://devcenter.heroku.com/articles/php-support#extensions

我按照相同的说明进行操作,但是在我 运行 在 heroku 上更新 composer 后我遇到了这个问题。

无法将您的要求解析为一组可安装的软件包。

问题 1 - 根 composer.json 需要 PHP 扩展名 ext-gd * 但您的系统中缺少它。安装或启用 PHP 的 gd 扩展。

要启用扩展,请确认它们已在您的 .ini 文件中启用:

 - /app/.heroku/php/etc/php/php-cli.ini
 - /app/.heroku/php/etc/php/conf.d/000-heroku.ini
 - /app/.heroku/php/etc/php/conf.d/010-ext-zend_opcache.ini
 - /app/.heroku/php/etc/php/conf.d/100-ext-mbstring.ini

您还可以 运行 php --ini 在终端中查看 PHP 在 CLI 模式下使用了哪些文件。

或者,您可以 运行 Composer 和 --ignore-platform-req=ext-gd 暂时忽略这些必需的扩展。