제가 만든 작은 응용 프로그램을 테스트하고 있었고 어떤 크기를 초과하는 여러 파일을 업로드 할 때 이상한 동작을 보았습니다.PHP가 이상한 동작을 업로드했습니다.
나는 여기에 언급 된 the bug을 읽었지만 그 길은 오래 전에 읽었다. 이상하게도, 나는 그 사람이 버그에서 언급 한 것과 같은 행동을 경험한다.
- 작은 크기 (각각 50-300kb)로 10 개의 파일을 업로드하면 아무 문제가 없으며 응용 프로그램이 작동합니다.
- 1.5mb의 파일 두 개를 업로드 할 때 최대 허용 크기가 512kb 인 오류 메시지가 응용 프로그램에서 출력됩니다 (php.ini에서 2MB).
- 업로드 할 때 크기가 7 또는 8MB를 초과하는 파일 (정확한 크기를 찾지 못했습니다)이 있으면 오류없이 PHP가 충돌합니다. 내가 개발 서버에 있기 때문에 오류가 켜져 있고 일반적으로 치명적인 오류가 표시됩니다.
- 1 개의 파일 (예 : 25mbs)을 업로드해도 동일한 오류가 발생합니다.
글쎄, 나는 내가 var_dump($_FILES)
또는 var_dump($_POST)
하려고 할 때 그것이 적어도 이름이나 무엇을 제출해야하지만 배열이 null을 반환하기 때문에 충돌 말한다.
tmp 폴더를 검사했는데 파일도 거기에 저장되어 있지 않습니다. 그러나, 이상한 행동은 내가이 신비한 한도를 초과하는 파일을 업로드 할 때, 브라우저가 업로드하는 것 같다 (나는 페이지가로드되는 데 시간이 걸린다는 것을 알 수있다.)하지만, 언급 한 것처럼 PHP는 아무것도 모르는 것처럼 동작한다.
이 이상한 행동의 재연이 될 수있는 것은 무엇입니까?
추신 : 저는 Windows 7 64 비트에서 localhost (wampserver)를 사용하고 있습니다.
편집
솔루션 발견
변경 post_max_size을 8메가바이트에서 뭔가 다른 내 문제를 해결했다. 포스트 데이터의
세트 최대 허용 크기 : 여기
가 필요로하는 사람들을위한 the manual에서 인용 한 것입니다. 이 설정은 업로드 파일에도 영향을 미칩니다. 대용량 파일을 업로드하려면이 값이 upload_max_filesize보다 커야합니다. configure 스크립트에서 메모리 제한을 사용하면 memory_limit도 파일 업로드에 영향을줍니다. 일반적으로 memory_limit는 post_max_size보다 커야합니다. 정수가 인 경우 값은 바이트 단위로 측정됩니다. 이 FAQ의 에 설명 된 것처럼 속기 표기법을 사용할 수도 있습니다. 게시물 데이터의 크기가 post_max_size보다 큰 인 경우 $ _POST 및 $ _FILES 총구는 비어 있습니다. 이것은 다양한 방법으로 추적 할 수 있습니다. $ _GET 변수를 데이터를 처리하는 스크립트에 전달하고 $ _GET [ 'processed']이 설정되어 있는지 확인하십시오.
PHP와 Apache를 수동으로 설치하지 않는 이유는 무엇입니까? 또는 XAMP로 시도하십시오. –