如何让EXIF PHP扩展在Heroku上工作?

How to get the EXIF PHP extension working on Heroku?

提问人:greyoxide 提问时间:4/26/2013 最后编辑:Pothercagreyoxide 更新时间:9/22/2014 访问量:7005

问:

我正在使用 数据为我的图像添加标题。

在 localhost 上使用效果很好(在 Ubuntu 上使用 Apache),但 Heroku 报告:exif_read_data

PHP 致命错误:调用 /app/path/to/files 中未定义的函数 exif_read_data()。

我真的不确定在这里做什么,查看错误消息,似乎我的 Heroku 应用程序上未安装/启用 EXIF 功能。

可以添加或启用吗?

exif php heroku

评论


答:

0赞 raidenace 4/26/2013 #1

exif您的环境中未启用扩展。heroku

您需要支持才能使用其功能。在php.ini中,你会发现这两行是这样做的:exif

extension=php_mbstring.dll
extension=php_exif.dll

当然,dll 应该在正确的文件夹中可用 - 对于 linux,而不是 .我不确定它在 heroku 中是如何工作的。也许您可以获得他们的技术支持来检查这些?.dll.so

评论

0赞 greyoxide 4/26/2013
好的,我把我的PHP.ini放在/www/etc/中,然后重新提交。但是,我仍然收到PHP致命错误:在/app/中调用未定义的函数exif_read_data()...不太确定该怎么做。
0赞 raidenace 4/26/2013
@user1789778,不,这不是你做事的方式。首先,环境中只有一个php.ini,并且由于您的php脚本正在运行,它已经存在。其次,如果你对php.ini进行任何更改,你需要重新启动服务器或冷启动或任何云环境。你正在做的事情是不够的。您可以做的第一件事是打印并找到位置,然后在同一页面中查看是否存在名为phpinfo()php.iniexif
0赞 Potherca 9/22/2014
旧问题/旧答案,但我认为通用服务器答案不能解决这个 heroku 特定问题。
13赞 Potherca 9/22/2014 #2

您的 Heroku 应用程序上未启用 EXIF 功能,这是正确的。

由于是“新”PHP 构建包,启用扩展所需的只需composer.json 文件中定义所需的扩展

就EXIF而言,这将是:

{
    "require": {
        "ext-exif":"*"
    }
}

这在 Heroku 开发中心的自定义 PHP 设置一文中进行了介绍。

评论

3赞 martti 1/9/2016
这就是解决方案。
0赞 Potherca 1/9/2016
然而,仍然有人对它投了反对票,没有任何解释:-(
0赞 brianjohnhanna 4/17/2019
确保在添加该行后运行并提交您的锁定文件,否则 Heroku 将无法启用它。这里还有完整的扩展列表composer update