2013-04-25 27 views
2

我使用數據爲我的圖像提供字幕。如何獲得在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應用程序。

是否可以添加或啓用?

回答

0

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

5

您的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