2009-06-06 3 views
2

저는 PHP 5.3을 실행 중이며 전에 접해 본 적이없는 문제에 부딪 혔습니다. 업로드 양식 (예, enctype은 multipart/form-data로 설정되어 있습니다)을 가지고 있으며, PHP 페이지에 내용을 게시합니다.

PHP 설치시 업로드가 활성화되어 있으며 upload_max_filesize는 0.5GB로 설정되어 있습니다.

사진을 업로드하는 중 (한 번에 최대 50 개를 시도했습니다) 정상적으로 작동합니다. 그러나 .zip 파일을 업로드하는 것은 아닙니다. .zip을 업로드하면 대부분의 전역 입력 배열 ($ _POST, $ _ GET, $ _ FILES 및 $ _REQUEST)이 완전히 비어있게됩니다. 네트워크 스 니프 (network sniff)는 업로드 된 zip beeing뿐만 아니라 전송 된 POST 데이터를 표시합니다.

Apache 로그는 비정상적으로 아무것도 표시하지 않으며 오류도 발생하지 않습니다. 배열은 그냥 비어 있습니다. 누구든지이 문제가 발생 했습니까?

+0

PHP 4.20을 사용하는 경우이 버그와 관련 될 수 있습니다. http://bugs.php.net/bug.php?id=16353 – karim79

+0

작은 zip 파일을 사용해 보셨습니까? 파일 크기가 아닌지 확인하기 위해 몇 KB 만 말해보십시오. – gradbot

답변

4

내가 정확한 문제가 될 수있는 어떤 단서를 가지고 있지 않지만, 내가 파일에 약간의 수정을 시도하는 게 좋을 것 :

  • 당신이 이름을 변경 한 .jpg 파일을 업로드 할 수 있습니다 .zip으로?
  • .jpg로 이름을 변경 한 .zip 파일을 업로드 할 수 있습니까?
  • 작은 .zip 파일을 업로드하려고 시도합니다. 실제 파일이 실제로 전송되는지 확인하십시오.
  • 는 희망이 문제가 놓여있는 위치에 대한 포인터를 줄 것이다 큰 파일 크기

와 .JPG를 업로드하려고합니다. 그게 무슨 가치가 있는지, 나는 PHP에 문제가 있는지 의심 스럽다.

+0

+1 건전한 조언. 또한 php.ini의 max_input_time 및 max_execution_time 설정이 충분히 높지 않은 경우 파일 업로드를 중단시킬 수 있다는 점을 추가 할 가치가 있습니다. – karim79

+0

작은 우편 번호를 시도하지는 않았지만 파일 크기 문제라고 판명되었습니다. 나는 아직도 그것의 근원을 발견하지 못했지만, 적어도 나는 어떤 방향을보아야하는지 안다! –

0
<?php 

set_time_limit(0); // Make sure php doesnt end script after 30 seconds 
ini_set('upload_max_filesize', '100M'); // Set default file upload size to 100 megs 

?> 
+0

그는 이미 5GB로 설정했다고 말했습니다. – karim79

+0

그가 설정 한 방법에 달려 있습니다. 직접 또는 .htaccess에서 php.ini를 편집하여 여러 가지 방법으로 설정할 수 있습니다. 이렇게하면 스크립트가 실행될 때 설정 됨 – Ozzy

+0

스크립트 수준에서 업로드 최대 파일 크기 설정이 작동하지 않습니까? 나는 스크립트가 실제로로드되기 전에 * 업로드 부분 (및 관련 제한 사항)이 발생한다는 인상 아래에있었습니다. – Narcissus

1

최근에 php7.0에서이 문제가 발생했습니다. 내가 0.7G 이는 zip $ _POST를 업로드하려고 할 때 은 $ _ REQUEST와 $ _FILES는 모든 빈하지만 php.ini 파일에서 한계가 고정 다시 시작 php7.0-FPM를 해결하기 이 upload_max_filesizepost_max_size을 값이 증가했다.

호프가 도움이 되었기를 바랍니다.

관련 문제