Request Entity Too Large 에러는 어떻게 처리하나요?
💡 요약 정리
- 업로드 요청 시 "Request Entity Too Large" 에러가 나타나는 경우는 Apache와 PHP 설정의 업로드 제한 때문입니다.
- Apache 설정 파일(httpd.conf)의 'LimitRequestBody' 값을 늘려야 합니다.
- PHP 설정 파일(php.ini)의 'post_max_size', 'upload_max_filesize' 도 같이 조정해야 합니다.
- 설정 변경 후 Apache를 반 드시 재시작해야 적용됩니다.
1. 에러 원인과 발생 시점
웹페이지에서 파일 업로드 또는 대용량 POST 요청 시, 아래와 같은 에러 메시지가 나타날 수 있습니다.
Request Entity Too Large The requested resource /bbs/write_update.php does not allow request data with POST requests, or the amount of data provided in the request exceeds the capacity limit. Apache/1.3.36 Server at wellbone.kr Port 80
이 에러는 서버가 허용한 데이터 용량보다 클 경우 발생합니다. PHP의 업로드 제한보다 SecRequestBodyLimit 값이 작아도 같은 문제가 발생할 수 있습니다.
2. httpd.conf 파일 수정 (Apache 설정 변경)
Apache 설정 파일에서 LimitRequestBody 값을 증가시켜야 합니다.
[root@cafe24 src]# vi /home/APM/apache/conf/httpd.conf
설정 예시:
# "/home/APM/apache/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
<Directory "/home/APM/apache/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
<Directory /home/*/html*>
Options Includes ExecCGI FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
Deny from env=go_out
LimitRequestBody 10000000 <--- 이부분을 수정. 여기서는 10M로 설정한 예임
</Directory>
3. php.ini 수정 (PHP 설정 변경)
PHP 업로드 용량 설정도 함께 변경해야 합니다.
[root@cafe24 src]# vi /home/APM/apache/conf/php.ini
아래 항목을 찾아 필요한 용량 값으 로 수정합니다.
; and register_argc_argv must be disabled for this directive to have any affect.
auto_globals_jit = On
; Maximum size of POST data that PHP will accept.
post_max_size = 10M <-- 수정한다
; Magic quotes
...
; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
;upload_tmp_dir =
; Maximum allowed size for uploaded files.
upload_max_filesize = 10M <-- 수정한다
4. Apache 재시작
변경 사항을 적용하려면 Apache를 재시작해야 합니다.
[root@cafe24 mssql]#
[root@cafe24 mssql]# /home/APM/apache/bin/apachectl restart
[root@cafe24 mssql]#