爲什麼我嘗試在生產模式中上傳png文件時出現此錯誤? 它正常工作與JPG和GIF文件...Ruby on rails - 回形針:生產模式下的png文件出錯
[回形針]收到一個錯誤,同時處理:#Paperclip :: NotIdentifiedByImageMagickError:/tmp/s3,8354,0.png不被「識別」認可命令。>
爲什麼我嘗試在生產模式中上傳png文件時出現此錯誤? 它正常工作與JPG和GIF文件...Ruby on rails - 回形針:生產模式下的png文件出錯
[回形針]收到一個錯誤,同時處理:#Paperclip :: NotIdentifiedByImageMagickError:/tmp/s3,8354,0.png不被「識別」認可命令。>
這屬於serverfault imo。
您的ImageMagick未與PNG支持一起編譯。請參閱article。我相信Google上還有更多。
您可以在編譯的版本的ImageMagick與PNG(和其他東西)搞定這個問題。
在我的設置,我MacOSX上用的ImageMagick的在/ usr /本地/ ImageMagick-二進制下載6.6.1/bin 和我在Apache/Passenger下運行Rails。我已將Paperclip安裝爲插件。
有得到這個工作需要3個步驟:
1:請確保您有ImageMagick的在UNIX命令行級別的工作。這包括將它添加到您的路徑和導出這些環境變量(指向您的ImageMagick安裝,當然)
MAGICK_HOME=/usr/local/ImageMagick-6.6.1
DYLD_LIBRARY_PATH=/usr/local/ImageMagick-6.6.1/lib
檢查在命令行級別標識與您的圖像作品。
2:告訴回形針在哪裏可以找到ImageMagick的可執行文件 在到config/environment.rb在文件
Paperclip.options[:command_path] = "/usr/local/ImageMagick-6.6.1/bin"
的底部添加此在這一點上,重新啓動後乘客,你會看到「標識'從Paperclip中運行,但無法識別文件...最後一步是...
3:確定需要這兩個導出的環境變量 - 和Apache/Passenger(或其他Web服務器可能)不通過默認通過這些! 在您的乘客虛擬主機文件中添加這些行:
SetEnv MAGICK_HOME /usr/local/ImageMagick-6.6.1
SetEnv DYLD_LIBRARY_PATH /usr/local/ImageMagick-6.6.1/lib
重啓apache /客,它應該工作
祝您好運!