2012-03-29 50 views
4

我的php.ini值PHP上傳不工作,由於尺寸限制

upload_max_size = 14000M 
post_max_size = 14000M 

如果我增加值比14000M多,$ _ POST不能被訪問和使用該值我可以上傳1.5GB的文件只有和無法上傳2.14GB的文件

在這裏,我有三個問題

  1. 我應該怎麼做$ _POST陣列也保持在工作,我也可以 上傳2.14 GB的文件。
  2. 爲什麼$ _ POST不工作當我超過 的值超過14000M
  3. 14000M應該是14GB,是不是這樣?如果是這樣 那麼爲什麼我不能上傳的2.14GB
+0

只是旁註:'$ _POST'沒有與文件上傳有關的事情 – zerkms 2012-03-29 22:23:02

+0

你的web服務器和php日誌中有什麼? – zerkms 2012-03-29 22:23:18

+0

對於大文件,超時,空結果等,你有什麼問題?發生'allocated_memory_size'錯誤嗎? – jeroen 2012-03-29 22:24:25

回答

2

我在2天工作後找到了我的問題的答案。
這是PHP中的一個錯誤,它允許我們將* _max_size = 14000M並且不允許我們上傳14000MB的文件。

參考https://bugs.php.net/bug.php?id=35578

我們不能上傳文件超過2047MB多,所以下面的值意味着更少

upload_max_size = 14000M 
post_max_size = 14000M 

和應轉換到最大值像

upload_max_size = 2047M 
post_max_size = 2047M 

所以現在你可以上傳大約1.99GB文件

+1

這就是我在我的回答中告訴你的...如果你使用它,你可能會節省一些時間:-) – TMS 2012-03-31 09:02:08

+0

無論如何,上傳這樣的大文件沒有任何意義 - 爲此,你應該使用分塊上傳,例如,與plupload。 – TMS 2012-03-31 09:02:18

0

文件沒有隻upload_max_sizepost_max_size對文件上傳影響。檢查this link

最重要的是memory_limit。當你特林上傳大文件,PHP耗盡內存

+0

我已經增加了每一件事,但仍然不能正常工作 – 2012-03-30 14:21:24

0

我已經在我的php.ini文件使用了G(演出)運氣:

upload_max_size = 3G

的post_max_size = 3G

不知道這是否有助於解決$ _POST問題。

0

有更多的限制和陷阱,你必須檢查,看官方公報PHP文檔:http://www.php.net/manual/en/features.file-upload.common-pitfalls.php

無論如何,請注意2G還簽署了32位整數的限制!所以這個問題可能會從與上傳本身無關的其他限制中提升。另外,服務器文件系統上的最大文件大小是多少? 2G是某些系統的限制。