如何获得在Heroku上工作的EXIF PHP扩展?

问题描述:

我使用数据为我的图像提供字幕。如何获得在Heroku上工作的EXIF PHP扩展?

在本地主机上使用exif_read_data工作正常(与Apache在Ubuntu),但是Heroku的报道:

PHP Fatal error: Call to undefined function exif_read_data() in /app/path/to/files.

我真的不知道这里做什么,看着错误消息它会出现EXIF功能没有安装/启用我的Heroku应用程序。

是否可以添加或启用?

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

您需要支持exif才能使用它的功能。在php.ini中,你会发现这两条线是做的那些:

extension=php_mbstring.dll 
extension=php_exif.dll 

当然这些DLL应该可以在正确的文件夹和 - 的Linux,而不是.dll他们会.so。我不确定它在heroku中的工作原理。也许你可以得到他们的技术支持来检查这些?

+0

好吧我把我的PHP.ini放在/ www/etc /并重新提交。不过,我仍然遇到了PHP致命错误:调用/ app /中的未定义函数exif_read_data()...并不真正需要做什么。 – greyoxide 2013-04-25 21:39:14

+0

@ user1789778,不,你不这样做。首先,环境中只有一个php.ini,并且自从您的php脚本运行后它已经存在。其次,如果您对php.ini进行任何更改,则需要重新启动服务器或冷启动或云环境。你在做什么是不够的。你可以做的第一件事就是打印'phpinfo()'并找到'php.ini'的位置,然后在同一页中看看是否存在一个名为'exif'的部分 – raidenace 2013-04-25 21:48:22

+0

老问题/旧答案,但我不认为通用服务器的答案解决这个heroku特定问题。 – Potherca 2014-09-21 23:19:29

您的Heroku应用程序中的EXIF功能不​​是启用是正确的。

由于“新”PHP buildpack,启用扩展所需的全部内容是define the required extensions in the composer.json file

在EXIF的情况下,这将是:

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

这是覆盖在Heroku的devcenter在the article for custom PHP settings

+3

这是解决方案。 – martti 2016-01-09 00:10:11

+0

然而,有人仍然低估了它,没有任何解释:-( – Potherca 2016-01-09 08:59:20