Heroku - 如何在 heroku php 应用程序上启用 gd?

Posted

技术标签:

【中文标题】Heroku - 如何在 heroku php 应用程序上启用 gd?【英文标题】:Heroku - how to enable gd on heroku php application? 【发布时间】:2015-02-07 10:17:49 【问题描述】:

Heroku 说:

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

但它没有给出示例,我尝试使用以下composer.json: "require": "gd": "*"

但是当我git push heroku master 时,我得到:

我的 composer.json: "require": "gd": "*"

但是当我git push heroku master 时,我得到:

-----> Installing dependencies...
       Composer version 1.0.0-alpha9-19-g10401d5 2014-12-09 11:32:02
       Loading composer repositories with package information
       Installing dependencies
       Your requirements could not be resolved to an installable set of packages.

         Problem 1
           - The requested package gd could not be found in any version, there may be a typo     in the package name.

       Potential causes:
        - A typo in the package name
        - The package is not available in a stable-enough version according to your minimum-    stability setting
          see <https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion> for more details.

       Read <http://getcomposer.org/doc/articles/troubleshooting.md> for further common problems.

 !     Push rejected, failed to compile php app

如何在heroku上启用gd???

【问题讨论】:

【参考方案1】:

试试看:


    "require": 
        "ext-gd": "*"
    

看这里using-optional-extensions

【讨论】:

请注意,此解决方案应包含在项目根目录(与 .git 文件夹相同的目录)中的 .json 文本文件中。提交并推送这些更改,它们应该会生效。 Problem 1 - The requested PHP extension ext-gd * is missing from your system. Install or enable PHP's gd extension. 我无法从 sudo 安装它,因为 sudo apt-get install php5.6-gdsudo: command not found 谢谢!让我免于头疼! +1 修改后,你需要运行composer update,这样你的修改才会反映在composer.lock中【参考方案2】:

仅在 composer 中添加 GD 作为依赖项 (require) 不会加载扩展 GD。它只是告诉这个包需要启用 gd。 "ext-gd" 只是一个虚拟包,并不真实存在。

您必须在您的平台上安装它。

看这里composer - platform-packages

【讨论】:

对于那些感到困惑的人:确保您已安装 php*.*-gd(请参阅***.com/q/2283199/4900327),然后在您的 repo 目录中运行 composer update,并可选择将 vendor/* 添加到您的 . gitignore @abhidivekar 你如何在 heroku 上运行 apt-get?当我在heroku run bash shell 中尝试 apt-get 时,我收到只读错误,无法安装。 php info 说编译了--with-gd=shared,但令人困惑。 发现它与本地安装有关。 很好解释。这应该是正确的答案。谢谢

以上是关于Heroku - 如何在 heroku php 应用程序上启用 gd?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 PHP 在 heroku 上发送电子邮件?

如何在 Heroku 中卸载此 buildpack?

Heroku:如何查看 Heroku 错误日志?

将 Heroku 配置变量与 PHP 一起使用?

Heroku 中的 PHP 错误日志

从托管在 Heroku 的在线 PHP 站点连接数据库