如何在 Heroku 上安装 GD

Posted

技术标签:

【中文标题】如何在 Heroku 上安装 GD【英文标题】:How to install GD on Heroku 【发布时间】:2017-01-04 05:11:24 【问题描述】:

我正在运行 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)

【问题讨论】:

您的composer.json 是否在存储库的根目录中?你在追踪composer.lock吗? 【参考方案1】:

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

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

【讨论】:

这些听起来像是针对 Windows 的说明。在 Heroku 上没有办法“将文件放入 ext 文件夹中”。 对不起,我的错。但是 "ext-gd": "*" 应该可以工作 我知道这是个愚蠢的问题。你确实做了composer update 对吗? @User011,请编辑您的答案,使其包含正确的答案。然后我会删除我的downvote,Maxlight可以accept it。 我在运行 composer update 时遇到拼写错误。此外,它说“gd”已被弃用,应该使用包名。我该怎么做【参考方案2】:

我运行 composer require ext-gdgit push heroku master 确实有效。

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

【讨论】:

【参考方案3】:

在 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

【讨论】:

花了 4 年零 2 个月但你回答了,谢谢@user9712543! 对于 php 7.2,sudo apt install php7.2-gd &amp;&amp; sudo service apache2 restart 也需要,因为我没有 谢谢。但在这样做之后,我在 heroku 上得到了 419 | page expired error

以上是关于如何在 Heroku 上安装 GD的主要内容,如果未能解决你的问题,请参考以下文章

如何在 debian 8 jessie 上安装 php 7 gd 扩展?

如何在 Heroku 上正确安装 PyICU?

如何在 Heroku 上正确安装 PyICU?

如何在 Heroku 上安装 libmagic?

如何在 Heroku 上安装 mbstring 扩展?

如何在 Termux 上安装 Heroku CLI?