如何在 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-gd
和 git 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 && sudo service apache2 restart
也需要,因为我没有
谢谢。但在这样做之后,我在 heroku 上得到了 419 | page expired error
以上是关于如何在 Heroku 上安装 GD的主要内容,如果未能解决你的问题,请参考以下文章