2014-01-10 1 views
-1

우리는 Laravel 4에 일부 파일을 업로드하기위한 양식을 작성 중입니다. 업로드 한 파일은 최대 500MB 정도입니다.

은 내가 POST 크기가 post_max_size을에 설정된 크기를 초과 할 때 예외를 던져 우리의 시스템을 원하지만 PHP가 예외를 던지는 대신, 우리는 PHP 설정 변수를보고있는 것은 $php_errormsg라는 응용 프로그램은없이 단순히 계속 $_POST 데이터입니다.

나는 이것이 생각 자동으로 이런 종류의 오류에 대한 예외를 던져 PHP를 구성 할 수있는 방법이 있나요, 아니면 $ php_errormsg라는 등

의 존재를 예를 들어 체크 일부 로직을 작성해야합니다 이런 종류의 오류를 다르게 처리하는 이상한 방법입니다. 표준 PHP 예외에서 벗어나는 이유는 무엇입니까?

또 다른 관찰은 $ php_errormsg 변수는 index.php 내부에서 초기 응용 프로그램 시작 지점에서 검사 할 때만 존재하지만 Laravel 4가 컨트롤러 작업에 도달 할 때까지는 아무 것도 개념이 없음을 알 수 있습니다 즉, $ php_errormsg라는 누락, 잘못된, 그리고 던져 단순히에는 예외가 없습니다 및 $_POST이 지워졌 얻었 기 때문에, 우리는 오히려 실제보다 필수 필드 누락 된 유효성 검사 오류가 있어요 : X 바이트의

POST의 콘텐츠 길이 초과 한도 x 바이트

내 컨트롤러에 다음 코드를 추가하여

Debugging with XDebug in IntelliJ

+0

작성 하시겠습니까? ini_set ('display_errors', 'On'); error_reporting (E_ALL); 스크립트에서 ? – Riad

+0

가장 확실한 것은, 다른 모든 오류가 HTML 출력에 나타나거나 Laravel의 오류 표시 페이지에 표시된다는 것입니다. 누군가가 @ –

+0

과 함께 일부 함수 호출의 오류를 억제 한 것처럼 보입니다.이 문제가있는 유일한 사람이 아닌 것 같습니다. http://stackoverflow.com/questions/2133652/how-to-gracefully-handle-files-that- 초과 - phps-post-max-size –

답변

0

:

global $php_errormsg; 
if (!is_null($php_errormsg)) { 
    throw new Exception($php_errormsg); 
} 

내가 적절하게 오류를 표시하고 사용자에게 적절한 오류 메시지를 표시하여 처리 할 수 ​​있습니다.

관련 문제