2011-10-03 7 views
1

현재 업로드 (~ 50Mb)를 지원하는 업로드 스크립트를 작성 중이며 매우 빠르게 문제가 발생했습니다! 임시 위치에 파일을 업로드하는 양식으로 전통적인 POST 요청을 사용하고 나중에 PHP로 이동합니다. 당연히 필자는 php.ini 파일을 업데이트하여 기본 파일보다 약간 큰 파일을 지원하고 15MB 정도의 파일을 업로드했습니다.PHP POST 요청 제한 시간

주된 문제는 호스팅 회사 때문입니다. 그들은 스크립트가 시간 초과 60 초 후에 임시 파일이 PHP 스크립트에 도달하기 전에 60 초 이상 걸리는 POST 요청이 죽어 자연스럽게 내부 서버 오류가 발생한다는 것을 의미합니다.

서버에서 시간 초과를 크랭크 할 수 없는데 (열띤 논쟁 이후) 옵션을 고려하고 있습니다. 방법은 부탁 요청 또는 어떻게 든 그것을 서버에 알리고 타이밍을 재설정 새로 고쳐야합니까? 아니면 시간 초과하지 않는 다른 업로드 방법이 있습니까?

+0

나는 POST 제출 시간이 초과되었고 스크립트 타임 아웃의 일부라는 것을 알지 못했지만,이 문제에 대해서는 한번도 언급하지 않았으며 300Mb (비공개 애플리케이션)을 초과하여 업로드했습니다. – Jakub

+0

PHP의 경우 업로드 관련 설정은 php.ini 수준 설정 (또는 httpd.conf/.htaccess의 재정의)을 통해 수행해야합니다. ini_set을 통해 변경할 수 없습니다. 업로드가 완료되기 전에 PHP는 코드 실행을 시작하여 해당 설정에 도달합니다. 클라이언트 쪽 플래시/자바 기반 업 로더를 사용하여 업로드를 청킹하는 것보다 짧은 것은 할 일이 없습니다. –

답변

0

큰 어려움이 있습니다. 가장 쉬운 방법은 힘든 호스트를 덤프하고 실제로 생산성을 높일 수있는 호스트를 선택하는 것입니다. 나는 개인적으로 TSOHost을 사용합니다. 1 년 반 넘게 그들과 함께 있었고 지금까지 불평 할 이유가 전혀 없었습니다 (심지어 약간의 귀찮음도 아닙니다).

0

고려할 수있는 몇 가지 사항이 있습니다. 각각에는 비용이 있으며, 비용이 가장 적은 것을 결정해야합니다.

  1. 새로운 호스팅 회사를 등록하십시오. 이것은 최선의 해결책 일 수 있습니다.

  2. 업로드를 여러 개의 청크로 분할하고 AJAX를 통해 제출하는 다소 복잡한 클라이언트 측 시스템을 설계하십시오. 호스트 규칙을 익히는 데 유용하기 때문에 특히 추악합니다.

저는 실제로 # 1 연구 할 것입니다.

+0

나는 값싼 호스팅 솔루션을 선택하기 위해 얻은 것 같아요. : P 매우 빠른 답장을 보내 주셔서 감사합니다 :) –

+0

많은 사람들이 그 티셔츠를 가지고 있습니다. 라이브로 배우십시오. –

0

정말로 시간 초과 문제입니까? 내 첫 번째 아이디어 ...

  • 웹 서버 php.ini 파일에 구성 제한이 설정되어 전송이 실패했습니다. 당신은

    #이 구성에서 사용 php.ini 파일에서 찾을 스크립트에서 로컬 설정을 변경하거나로 설정해야 memory_limit를 = 96M post_max_size을 = 64M 이 upload_max_filesize = 64M

또는 직접 inyour 스크립트

ini_set('memory_limit', '96M'); 
ini_set('post_max_size', '64M'); 
ini_set('upload_max_filesize', '64M');