我們使用CGI.pm來幫助我們在我們的網站上處理文件上傳,並通過我們的Android應用程序使用我們的API & iPhone應用程序。我們最近注意到,CGI.pm似乎沒有返回幾乎50%的文件通過我們的iPhone應用程序上傳的參數。我們還沒有看到與通過我們網站上傳的文件類似的問題。棘手的問題處理文件在Perl上傳
我們不能在測試中複製問題,但在生產中CGI.pm的cgi_error()方法在缺少CGI.pm參數的情況下不報告任何錯誤。我們已確認iPhone應用程序在發佈上傳文件時始終包含正確的參數。
快速設置背景。我們將應用程序分配到使用Amazon Elastic Load Balancer進行負載平衡的Amazon EC2服務器上。我們也有$ CGI :: POST_MAX =(1024 * 100000);所以POST最大大小設置爲100MB,我們已確認所有上傳都在此限制之下。
我不知道下一步該去哪裏。關於這個問題可能是什麼以及如何解決它的任何想法都將非常感謝。對於如何識別問題的根源也有幫助,因此我們可以開始排除故障。
在此先感謝您的幫助!
當您說CGI.pm上傳的文件的50%沒有返回參數時,能澄清一下您的含義嗎?那些params是不是文件數據丟失,或者沒有簡單的數據給CGI.pm?錯誤日誌是否顯示這些請求有任何錯誤? – kbenson 2012-02-15 05:03:26
儘管我們已經驗證了所有參數都被iPhone應用程序正確提交,但CGI.pm完全沒有返回參數。錯誤日誌不報告任何內容,也不是cgi_error()方法,這就是爲什麼我們被困住了。 – 2012-02-15 15:38:54
在多部分MIME編碼之前或之後是100MB嗎? – daxim 2012-02-15 18:27:35