라이브러리

[PHP_CONFIG] max_input_nesting_level - GET/POST/COOKIE 배열의 중첩 허용 수준




PHP CONFIG - max_input_nesting_level

PHP CONFIG의 `max_input_nesting_level`는 입력 데이터의 중첩 수준을 제한하는 설정입니다. 이 설정은 PHP가 입력 데이터를 처리할 때 중첩된 배열이나 객체를 허용하는 수준을 결정합니다.

기본값

기본값은 64입니다. 이 설정은 PHP 5.3.9부터 지원되며, 이전 버전에서는 기본값이 128입니다.

설정 방법

`max_input_nesting_level` 설정은 PHP의 `php.ini` 파일에서 변경할 수 있습니다. `php.ini` 파일은 PHP의 구성 파일로, PHP가 실행되기 전에 읽어들입니다. 설정 값을 변경하려면 `php.ini` 파일을 편집하고, 변경된 값을 저장한 후 PHP를 재시작하면 됩니다.

예제

`max_input_nesting_level` 설정을 변경하는 예제는 다음과 같습니다.

#hostingforum.kr
php

; php.ini 파일에 추가

max_input_nesting_level = 8



이 설정을 변경한 후 PHP를 재시작하면, 입력 데이터의 중첩 수준이 8까지 허용됩니다.

중첩된 배열 예제

다음 예제는 `max_input_nesting_level` 설정이 8보다 작을 때 발생하는 오류를 보여줍니다.

#hostingforum.kr
php

// 중첩된 배열

$data = array(

    'a' => array(

        'b' => array(

            'c' => 'value'

        )

    )

);



// max_input_nesting_level 설정이 8보다 작을 때

$max_input_nesting_level = 7;

ini_set('max_input_nesting_level', $max_input_nesting_level);



// 오류 발생

try {

    var_dump($data);

} catch (Exception $e) {

    echo $e->getMessage();

}



이 예제에서는 `max_input_nesting_level` 설정을 7으로 변경한 후, 중첩된 배열을 처리하려고 합니다. 이 경우 오류가 발생합니다.

중첩된 객체 예제

다음 예제는 `max_input_nesting_level` 설정이 8보다 작을 때 발생하는 오류를 보여줍니다.

#hostingforum.kr
php

// 중첩된 객체

$data = new stdClass();

$data->a = new stdClass();

$data->a->b = new stdClass();

$data->a->b->c = 'value';



// max_input_nesting_level 설정이 8보다 작을 때

$max_input_nesting_level = 7;

ini_set('max_input_nesting_level', $max_input_nesting_level);



// 오류 발생

try {

    var_dump($data);

} catch (Exception $e) {

    echo $e->getMessage();

}



이 예제에서는 `max_input_nesting_level` 설정을 7으로 변경한 후, 중첩된 객체를 처리하려고 합니다. 이 경우 오류가 발생합니다.

결론

`max_input_nesting_level` 설정은 입력 데이터의 중첩 수준을 제한하는 설정입니다. 이 설정을 변경할 때는 PHP를 재시작하고, 변경된 값을 저장한 후에야 합니다. 중첩된 배열이나 객체를 처리할 때 이 설정을 고려하여야 합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 1 페이지

검색

게시물 검색