SWFUpload не показывает ошибок, но не загружает большие видеофайлы.

У меня есть унаследованный проект, который использует code igniter, prototype.js и swfUpload для управления большими видеофайлами. Я столкнулся с проблемой, когда он задыхается при загрузке больших видеофайлов.

Я успешно загрузил файлы меньшего размера (файл ~ 198 МБ на галлон и файл на 3 МБ), но у меня возникают проблемы с отладкой при загрузке файла mov 1,57 ГБ.

На моем локальном компьютере загрузка завершается за ~ 1 минуту и ​​возвращается как успешно. Но когда я перехожу в папку загрузок, где должен существовать файл (и где файлы меньшего размера были успешно загружены), он отсутствует.

В моем журнале ошибок нет ошибок.

В моем файле .htaccess я устанавливаю:

php_value upload_max_filesize 6143M  
php_value post_max_size 6143M  

Я подтвердил, что это работает, вызвав ini_get ()

Это мой объект SWFUpload:

swfu = new SWFUpload({
   debug: true,
   upload_url: '" . BASE_URL . "/content_management/ajax_asset_upload_files',
   flash_url: '" . BASE_URL . "/js/swfupload/Flash/swfupload.swf',

   post_params: {'PHPSESSID' : '" . $this->session->userdata('session_id') . "'},
   file_size_limit : '10000 MB',
   file_types : '*.*',
   file_types_description : 'All Files',
   file_upload_limit : 100,
   file_queue_limit : 0,
   custom_settings : {
      progressTarget : 'fsUploadProgress'
   },

   // Button settings
   button_image_url: '" . BASE_URL . "/images/buttons/btn_select_file.gif',
   button_width: '105',
   button_window_mode: 'transparent',
   button_height: '20',
   button_placeholder_id: 'spanButtonPlaceHolder',
   button_disabled: true,
   button_cursor: SWFUpload.CURSOR.HAND,
   button_action: SWFUpload.BUTTON_ACTION.SELECT_FILE,

   // The event handler functions are defined in handlers.js
   file_queued_handler : fileQueued,
   file_queue_error_handler : fileQueueError,
   file_dialog_complete_handler : fileDialogComplete,
   upload_start_handler : uploadStart,
   upload_progress_handler : uploadProgress,
   upload_error_handler : uploadError,
   upload_success_handler : assetUploadSuccess,
   upload_complete_handler : uploadComplete,
   queue_complete_handler : queueComplete // Queue plugin event
});

И вывод отладки:

---SWFUpload Instance Info---
Version: 2.2.0 2009-03-25
Movie Name: SWFUpload_0
Settings:
   upload_url:               [function location]
   flash_url:                [js_folder]/swfupload.swf?preventswfcaching=1363621116581
   use_query_string:         false
   requeue_on_error:         false
   http_success:             
   assume_success_timeout:   0
   file_post_name:           Filedata
   post_params:              [object Object]
   file_types:               *.*
   file_types_description:   All Files
   file_size_limit:          10000 MB
   file_upload_limit:        100
   file_queue_limit:         0
   debug:                    true
   prevent_swf_caching:      true
   button_placeholder_id:    spanButtonPlaceHolder
   ...
Event Handlers:
   swfupload_loaded_handler assigned:  false
   file_dialog_start_handler assigned: false
   file_queued_handler assigned:       true
   file_queue_error_handler assigned:  true
   upload_start_handler assigned:      true
   upload_progress_handler assigned:   true
   upload_error_handler assigned:      true
   upload_success_handler assigned:    true
   upload_complete_handler assigned:   true
   debug_handler assigned:             true

SWF DEBUG: SWFUpload Init Complete
SWF DEBUG: 
SWF DEBUG: ----- SWF DEBUG OUTPUT ----
SWF DEBUG: Build Number:           SWFUPLOAD 2.2.0
SWF DEBUG: movieName:              SWFUpload_0
SWF DEBUG: Upload URL:             [function location]
SWF DEBUG: File Types String:      *.*
SWF DEBUG: Parsed File Types:      
SWF DEBUG: HTTP Success:           0
SWF DEBUG: File Types Description: All Files (*.*)
SWF DEBUG: File Size Limit:        10485760000 bytes
SWF DEBUG: File Upload Limit:      100
SWF DEBUG: File Queue Limit:       100
SWF DEBUG: Post Params:
SWF DEBUG:                         PHPSESSID=ki7kne5j6co95il6f6hqt8pje4
SWF DEBUG: ----- END SWF DEBUG OUTPUT ----
SWF DEBUG: 
SWF DEBUG: Event: fileDialogStart : Browsing files. Single Select. Allowed file types: *.*
SWF DEBUG: Select Handler: Received the files selected from the dialog. Processing the file list...
SWF DEBUG: Event: fileQueued : File ID: SWFUpload_0_0
SWF DEBUG: Event: fileDialogComplete : Finished processing selected files. Files selected: 1. Files Queued: 1
EXCEPTION: 
SWF DEBUG: StartUpload: First file in queue
SWF DEBUG: Event: uploadStart : File ID: SWFUpload_0_0
SWF DEBUG: Global Post Item: PHPSESSID=ki7kne5j6co95il6f6hqt8pje4
SWF DEBUG: File Post Item: asset_id=131
SWF DEBUG: File Post Item: document_type_id=4
SWF DEBUG: File Post Item: title_id=-1
SWF DEBUG: File Post Item: title=test3
SWF DEBUG: ReturnUploadStart(): File accepted by startUpload event and readied for upload.  Starting upload to [upload function] for File ID: SWFUpload_0_0
SWF DEBUG: Event: uploadProgress (OPEN): File ID: SWFUpload_0_0
SWF DEBUG: Event: uploadProgress: File ID: SWFUpload_0_0. Bytes: 1409024. Total: 1692228612
SWF DEBUG: Event: uploadProgress: File ID: SWFUpload_0_0. Bytes: 5308416. Total: 1692228612
...
...
SWF DEBUG: Event: uploadProgress: File ID: SWFUpload_0_0. Bytes: 1692228612. Total: 1692228612
SWF DEBUG: Event: uploadSuccess: File ID: SWFUpload_0_0 Response Received: true Data: 
SWF DEBUG: Event: uploadComplete : Upload cycle complete.

Заранее спасибо.


person Zoe Blair    schedule 18.03.2013    source источник
comment
вы действительно пытаетесь загрузить файл на 1,5 гигабайта с лимитом закачки 0,6 гигабайта ??   -  person ITroubs    schedule 18.03.2013
comment
Надеюсь нет. Где вы видите этот лимит загрузки?   -  person Zoe Blair    schedule 18.03.2013
comment
Убедитесь, что php_value upload_max_filesize и php_value post_max_size установлены на максимальный размер файла, который вы хотите поддерживать / загружать.   -  person Andron    schedule 18.03.2013
comment
о, моя ошибка ... не видел последних 3   -  person ITroubs    schedule 18.03.2013
comment
похоже, что max_input_time установлено на 60 секунд ...   -  person ITroubs    schedule 18.03.2013
comment
должно быть поэтому он останавливается ровно через 60 секунд времени загрузки, когда ничего не загружено.   -  person ITroubs    schedule 18.03.2013
comment
Это было. Но я увеличил max_input_time и max_execution_time до 3000, без изменений.   -  person Zoe Blair    schedule 18.03.2013
comment
Я рассчитал время, мой тестовый файл «загружается» за 32 секунды.   -  person Zoe Blair    schedule 18.03.2013


Ответы (1)


Возможно, ваш хост отключил для вас возможность ini_set переменных php, таких как set_time_limit (0), для увеличения максимального времени выполнения, и в этом случае он будет использовать Apache «Тайм-аут» в httpd.conf, который по умолчанию равен 60 секундам. FcgidMaxRequestLen - максимальная длина запроса в байтах.

В php также проверьте: memory_limit

Чтобы облегчить отладку, попробуйте также: ini_set ('display_errors', 'On'); error_reporting (E_ALL);

Удалите также любые символы at из вашего кода. пример: @ $ varname или @functionName () @ указывает PHP скрывать любые возникающие ошибки.

Возможно, ваш уровень error_reporting установлен слишком низким, поэтому на самом деле есть ошибка, но вы ее не видите. Вышеупомянутое должно исправить это.

person lo_fye    schedule 19.03.2013