Php heroku安装gd扩展失败
我正在尝试在heroku上安装Php heroku安装gd扩展失败,php,heroku,gd,Php,Heroku,Gd,我正在尝试在heroku上安装gd(或)库 当我尝试使用composer安装它们时(我有如下所示) 我得到 Problem 1 - The requested PHP extension ext-gd * is missing from your system. Install or enable PHP's gd extension. 因此,尝试从apt-get安装(sudo-apt-get-install php7-gd),但我没有sudo权限,因为我不知道根heroku密码 有什么办法吗
gd
(或)库
当我尝试使用composer安装它们时(我有如下所示)
我得到
Problem 1
- The requested PHP extension ext-gd * is missing from your system. Install or enable PHP's gd extension.
因此,尝试从apt-get安装(sudo-apt-get-install php7-gd
),但我没有sudo权限,因为我不知道根heroku密码
有什么办法吗
编辑
为了更好地解释我所做的工作,下面是完整的命令列表
$ heroku run bash
Running bash on ⬢ app... up, run.1644 (Free)
~ $ composer init
Welcome to the Composer config generator
This command will guide you through creating your composer.json config.
Package name (<vendor>/<name>) [app/app]:
Description []:
Author [, n to skip]: n
Minimum Stability []:
Package Type (e.g. library, project, metapackage, composer-plugin) []:
License []:
Define your dependencies.
Would you like to define your dependencies (require) interactively [yes]?
Search for a package: ext-gd
Found 15 packages matching ext-gd
[0] stil/gd-text
[1] gd/plesk-bundle
[2] quince/persian-gd
[3] xepan/gd-text
[4] zgldh/gd-text-for-chinese
[5] ext-calendar
[6] ext-iconv
[7] ext-dbus
[8] ext-xml
[9] ext-opendkim
[10] ext-mcrypt
[11] ext-openssl
[12] ext-ssh2
[13] ext-mongo
[14] ext-mbstring
Enter package # to add, or the complete package name if it is not listed: ext-gd
Enter the version constraint to require (or leave blank to use the latest version): *
Search for a package:
Would you like to define your dev dependencies (require-dev) interactively [yes]? no
{
"name": "u11706/app",
"require": {
"ext-gd": "*"
}
}
Do you confirm generation [yes]?
~ $ composer update
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
- The requested PHP extension ext-gd * is missing from your system. Install or enable PHP's gd extension.
~ $ composer update --ignore-platform-reqs
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Writing lock file
Generating autoload files
这不是真正的Heroku问题,而是本地计算机的问题 您正在本地运行
composer update
以重新生成composer.lock
。您的composer.json
包含对ext gd
的要求,因此您本地计算机的PHP安装必须启用该扩展,否则无法满足要求,composer将对此抛出错误
具体情况以及解决方法见-请仔细遵守此处的说明,在蓝色框中包含指示您运行
composer更新的注释--如果需要,请忽略平台需求。通过composer本地安装
,然后通过git存储库部署到heroku应用程序,解决了此问题 gd在Heroku上可用,您必须通过将以下行添加到composer.json(在require部分下)来启用它
在将代码推送到heroku之前,请确保在本地运行composer update,否则它将无法工作。首先,您必须在本地绑定php
1。步骤
包含在composer.json中
{
"require": {
..
"ext-gd": "*",
...
}
}
2。步骤
更新编写器
composer update
这需要时间……喝杯咖啡
3。步骤
使用heroku cli发布
git push heroku master
在pusblish上,注意输出,并检查是否有类似下面第5行的内容,如果有,则一切正常
1. remote: -----> PHP app detected
2. remote: -----> Bootstrapping...
3. remote: -----> Installing platform packages...
4. remote: - php (7.3.6)
5. remote: - ext-gd (bundled with php)
6. remote: - apache (2.4.39)
7. remote: - nginx (1.16.0)
8. remote: -----> Installing dependencies...
祝您编码愉快。谢谢祖尔克。请参阅我的问题中的更改最终通过在本地使用composer安装解决了这个问题,然后再推送到heroku git存储库。非常感谢。
composer update
git push heroku master
1. remote: -----> PHP app detected
2. remote: -----> Bootstrapping...
3. remote: -----> Installing platform packages...
4. remote: - php (7.3.6)
5. remote: - ext-gd (bundled with php)
6. remote: - apache (2.4.39)
7. remote: - nginx (1.16.0)
8. remote: -----> Installing dependencies...