我在Heroku上的NGINX(自定義buildpack)上使用PHP 5.4.12。上傳1.5MB或更大尺寸的圖片時遇到問題。這是我在做什麼:Heroku上傳和腳本執行限制
PHP上傳來的Heroku(使用Iframe和阿賈克斯)
裁剪,調整大小和麪具的照片在Heroku
(使用Imagick命令行,convert
和composite
)將編輯後的圖像移動到另一臺服務器上(因爲Heroku不會讓你長期存儲東西,除非它們被推到服務器上)。現在我正在使用我的測試環境/服務器,但我相信我最終會將其轉移到S3上。
任何小文件都可以通過。任何比megs更大的東西只會在上傳時間(看起來像)上掛起。相同的確切腳本在另一臺服務器上工作得很好。
我在Heroku上修改了php.ini
文件,重新編譯了slu,,重新啓動並重置了dynos。 phpinfo()調用顯示增加的上傳限制,但腳本仍然以相同的方式失敗。
我知道Heroku應該有一個30秒的腳本執行限制,但是,我看到它的方式,PHP上傳發生在腳本開始執行之前。
我最初試圖從不同的服務器執行上傳腳本,但是,由於我向上傳腳本發出Ajax請求,因此遇到了CORS(跨源資源共享)限制,而且我沒有像CORS的解決方法,因爲一些瀏覽器不服從。
任何想法,我可以允許用戶上傳大於1.5MB的圖像,在圖像上運行我的裁剪/遮罩腳本,然後將圖像存儲在某處(例如Amazon S3)?也許有人知道一種方式直接上傳到亞馬遜,編輯EC2上的圖像,然後轉移到S3? 謝謝!
PS,尋找一個無Flash解決方案,因爲我試圖移動友好。
你怎麼編輯'php.ini'?我正在上傳到S3,但仍然出現錯誤。 [見我類似的SO問題](http://stackoverflow.com/questions/18796980/edit-php-ini-on-heroku)。謝謝。 –