2013-03-25 88 views
3

我們在運行php的windows服務器上上傳文件時遇到了一個問題。較大的文件不會上傳到服務器。該網站託管在Windows 2008服務器和網絡服務器是IIS 7.使用php上傳Windows服務器上的文件時出現問題

有時可能上傳22MB文件,但有時上傳10 MB文件失敗。日誌文件中沒有錯誤消息。

我們在PHP.ini文件中設置了非常高的值。

max_execution_time 1800 
max_input_time 1800 
memory_limit  = 5000M 
upload_max_filesize = 60M 
max_file_uploads = 40 
post_max_size = 400 

我們還嘗試通過在web.conf文件中添加值來增加IIS上載限制。這也沒有解決這個問題。

maxRequestLength="204800" 
requestLengthDiskThreshold="204800" 
executionTimeout="3600" 
maxAllowedContentLength="204800000" 

http://support.myeasyprojects.net/KB/a53/uploading-large-files-times-out.aspx

我們正處在一個非常困惑的問題的中間。任何人都可以幫助我們呢?

+0

如果您已更改upload_max_filesize,而不是使用此函數對ini_get('upload_max_filesize')進行驗證;有時,PHP.INI中的更改可能不會反映在服務器上,除非我們重新啓動服務器。 – ajay 2013-03-25 13:01:43

+0

@ajay謝謝你的回覆..我們沒有改變這個 – 2013-03-25 13:05:35

回答

1

post_max_size應該匹配upload_max_filesize,因爲文件是使用POST發送的。

內存限制非常高,你真的需要所有的內存? 256M應該足夠了。

我的建議配置:

memory_limit  = 256M 
upload_max_filesize = 64M 
post_max_size = 64M 
+0

謝謝你的迴應..這是我們在重複獲取錯誤後嘗試的設置之一..但是使用這個設置也沒有正確上傳文件。最糟糕的是它有時會起作用,並且它不會始終工作。 – 2013-03-25 13:01:17

+0

驗證您的設置是否有效,從您的上傳腳本回應它們 – Ghigo 2013-03-25 13:02:13

+0

我們也測試過這個.. – 2013-03-25 13:06:07

0

需要做以下設置成在php.ini文件。它位於你的c:\ php post_max_size(它應該大於upload_max_filesize);

相關問題