這個問題似乎直接關係到臭名昭着的2GB限制,我不確定在這個atge如果它的32位PHP的問題。 我見過與HTTP相關的評論不是爲這樣的大文件設計的。但是,在決定對迄今爲止已被證明有效的任何根本性改變之前,我寧願耗盡這個方向。 由於標題建議我需要上傳> 2GB的文件,目前最大的3.8GB。 我有一個使用jQuery文件上傳構建的表單,它在發送任何文件(全部少於< 2GB)之前一直沒有問題,直到這些大文件啓動。 3.8GB的文件上傳可能需要5分鐘的時間,並且進度條完成到100%。 但是,上傳後報告的錯誤是類型1,表明文件大小限制已被違反。4GB HTTP文件上傳使用jQuery文件上傳,Apache和PHP
如果我在上傳過程中監視服務器上的磁盤使用情況,它將具有以下示例屬性: 在上載磁盤之前,使用率爲30%,隨着上傳的繼續,此使用率增加31%,32%.... 45%,46%等。 然而,在2GB點附近,當客戶端/瀏覽器文件上傳繼續時,磁盤使用率回落到30%。 當服務器磁盤使用停止增加時,客戶端可能只有上傳的60%。 然而,客戶端仍然持續100%,但未被服務器接受,因爲磁盤狀態永遠不會退出30%。
我正在運行64Bit Ubuntu(最新版本)與Apache/2.2.22(Ubuntu)和PHP版本5.3.10-1ubuntu3.2 經過多天尋找解決方案,我仍然無法獲得3.8GB文件在更改很多設置後上傳。 我會列出下面的變化,但在這個階段,我認爲它可能是一個32位PHP的問題,所以如果任何人都可以建議值得跟隨或值得嘗試的解決方案的鏈接,我會很感激。
在Apache2的我已經設置如下:
- apache2.conf I've set Timeout to 900
- httpd.conf I've set LimitRequestBody to 0
- .htaccess in the file upload directory I've set:
- LimitRequestBody to 4939212390
- php_value upload_max_filesize 4831838208
- php_value post_max_size 4939212390
在php.ini中我已經設置如下:
- UPLOAD_MAX_FILESIZE 4831838208
- POST_MAX_SIZE 4939212390
- max_execution_time 120
- max_input_time 60
- memory_limit 128M
如果我運行在服務器上的以下這似乎在PHP沒有32位的問題,但我不確定在這個階段。
php -r "echo PHP_INT_MAX;"
9223372036854775807
正如我所提到的任何想法將不勝感激。
UPDATE:
已經解決了這個問題,所以感謝@BogdanBurim提出了這個迴歸基本的方法:
我已成功上傳3.8 GB的文件通過HTTP使用以下設置:
在Apache2的我已經設置如下:
- apache2.conf I've set Timeout to 900
- httpd.conf I've set LimitRequestBody to 0
- .htaccess in the file upload directory I've set:
- LimitRequestBody to 0
- php_value upload_max_filesize 0
- php_value post_max_size 4939212390
- .htaccess in the php temp directory (in my case its /tmp/) I've set:
- LimitRequestBody to 0
- php_value upload_max_filesize 0
- php_value post_max_size 4939212390
在PHP。INI我設置如下:
- UPLOAD_MAX_FILESIZE 0
- POST_MAX_SIZE 4939212390
- max_execution_time 120
- max_input_time 60
- memory_limit 128M
這種解決方案的唯一的其他重要組成部分,是不必從上傳表單中刪除MAX_FILE_SIZE,HTML:
<input type="hidden" name="MAX_FILE_SIZE" value="4939212390" />
有了這套不斷引起了PHP輸入2錯誤,所以php無法處理大於32位的整數。 刪除它導致了PHP類型1錯誤,直到我將UPLOAD_MAX_FILESIZE更改爲0,並且它現在可以正常工作!
http://php.net/manual/en/features.file-upload.errors.php
相關:http://stackoverflow.com/questions/50 53290/large-file-upload-though-html-form-than-2-gb – valentinas
嘗試使用簡單的HTML表單和上傳文件。它會崩潰嗎?你可能會看到確切的錯誤信息。 –
謝謝@BogdanBurim我會稍後再嘗試並更新 – Diplonics