如何在 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
暂时忽略这些必需的扩展。
我 运行 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
暂时忽略这些必需的扩展。