2015-01-21 7 views
0

파일 업로드 스크립트를 만들려고하는데 잠시 동안이 문제로 어려움을 겪고 있습니다.8MB보다 큰 파일을 업로드 할 수 없습니다.

나는 이것과 관련된 모든 답변을 읽었지만 아무 소용이 없습니다.

여기는 내가 PHP에서 시도한 것입니다. INI : 아파치에서

file_uploads = On 
upload_max_filesize = 100M 
post_max_size = 100M 
memory_limit = 100M 

내가 가진 :

<Directory /var/www/uploads> 
php_value upload_max_filesize 10G 
php_value post_max_size 10G 
</Directory> 

내가 지금 마음에 오지 않는 뭔가를 시도 할 수도 있습니다.

8MB 미만의 파일은 모두 문제없이 업로드됩니다. 또한 몇 초 안에 업로드가 실패하기 때문에 시간 초과는 문제가되지 않습니다.

P. 나는 Cloudflare를 사용하고 있습니다. 이게 내 업로드를 방해하는 것일 수 있습니까?

+0

phpinfo()를 사용하여 test.php 파일을 작성하여 PHP.ini의 위치를 ​​확인 했습니까? –

+0

'print_r ($ _ FILES)'이 실패했을 때 무엇을 보여줍니까? 이 계정이 호스팅입니까? –

+0

다른 곳에서이 글을 읽었습니다. 잘못된 php.ini를 편집하고 있다는 것을 확인할 수 있습니다. 이제이 오류가 발생했습니다. 리소스로드 실패 : 서버가 413 (요청 엔터티가 너무 큼) 상태로 응답했습니다. – Alex

답변

1

phpinfo()가 포함 된 test.php 파일을 만들어 PHP.ini의 위치를 ​​확인하십시오.

다음으로 Apache (LimitRequestBody 지시문 *) 및 php.ini (upload_max_filesize) 제한을 확인하십시오. 일반적으로이 값은 높게 설정됩니다. 값은 바이트입니다.

Apache 2.0의 기본 업로드 크기는 524288이며 "include file"/etc/httpd/conf.d/php.conf에서이 값을 덮어 쓰려면 httpd.conf 가상 파일에 다음 지시문을 추가하십시오 호스트 지침 :

<Files *.php> 
LimitRequestBody 30000000 
</Files> 

아파치 1.3이 기본이없는 (이 예 한계가 30M에 몸을 요청), 그래서 당신은 일반적으로 단지 php.ini 파일을 변경해야합니다 (이 upload_max_filesize, post_max_size을) 값과 config.ini (maxuploadfilesize) 값.

마지막으로 RequestReadTimeout 설정을 확인하십시오. https://serverfault.com/a/260389에서

+0

저는 실제로 php.ini 파일을 잘못 편집하고 있었지만 올바른 파일 경로를 찾았습니다. 나는 또한 내 conf에 그것을 추가했습니다. 이제 다음 오류가 발생합니다 :'413 Entity Too Large. 요청한 리소스/업로드.PHP 에서 POST 요청으로 요청 데이터를 허용하지 않거나 에 제공된 데이터 양이 용량 한도를 초과합니다. " Apache 2.4 및 PHP 5.5를 사용하고 있습니다. 24MB 파일을 업로드 할 수 있었지만 35MB를 업로드하면 오류가 발생합니다. – Alex

+0

내 노트 참조 : RequestReadTimeout 설정을 확인하십시오. More at http://serverfault.com/a/260389 –

+0

LimitRequestBody가 대답이었습니다. 코드가 ~ 30MB로 제한되어 있었고 직접 복사했습니다. 이제 2 개의 0을 더 추가했습니다. 감사! – Alex

0

때때로 excute 시간이 문제가 발생하면 사용 set_time_limit (0);

또는

확인 php.ini의 는 ini_set ('max_execution_time을', 0); // 0

관련 문제