실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

PHP 옵션/정보 설정 옵션
이름 기본값 가변성 변경점
assert.active "1" PHP_INI_ALL  
assert.bail "0" PHP_INI_ALL  
assert.warning "1" PHP_INI_ALL  
assert.callback NULL PHP_INI_ALL  
assert.quiet_eval "0" PHP_INI_ALL  
assert.exception "0" PHP_INI_ALL Available since PHP 7.0.0.
enable_dl "1" PHP_INI_SYSTEM PHP 6.0.0에서 제거.
max_execution_time "30" PHP_INI_ALL  
max_input_time "-1" PHP_INI_PERDIR PHP 4.3.0부터 사용할 수 있습니다.
max_input_nesting_level "64" PHP_INI_SYSTEM|PHP_INI_PERDIR PHP 4.4.8과 PHP 5.2.3부터 사용 가능.
max_input_vars 1000 PHP_INI_PERDIR PHP 5.3.9부터 사용 가능.
magic_quotes_gpc "1" PHP_INI_PERDIR PHP <=4.2.3에서 PHP_INI_ALL. PHP 5.4.0에서 제거.
magic_quotes_runtime "0" PHP_INI_ALL PHP 5.4.0에서 제거.
zend.enable_gc "1" PHP_INI_ALL PHP 5.3.0부터 사용할 수 있습니다.
PHP_INI_* 모드에 대한 상세와 정의는 Where a configuration setting may be set를 참고하십시오.

위 설정 지시어에 대한 간단한 설명입니다.

assert.active boolean

assert() 평가를 활성화합니다.

assert.bail boolean

assertion 실패시에 스크립트 실행을 종료합니다.

assert.warning boolean

실패하는 assertion마다 PHP 경고를 발생합니다.

assert.callback string

assertion 실패시에 호출할 사용자 함수.

assert.quiet_eval boolean

assertion 표현 평가 중에 error_reporting()의 현재 설정을 사용합니다. 활성화하면, 평가 도중에 에러가 보여지지 않습니다. (error_reporting(0)에 상당) 비활성화하면, 에러는 error_reporting() 설정에 따라 보여집니다.

assert.exception boolean

Issue an AssertionError exception for the failed assertion.

enable_dl boolean

이 지시어는 PHP의 아파치 모듈 버전에서만 유용합니다. dl()로 PHP 확장 모듈을 동적으로 읽어들일 수 있는지 여부를, 가상 서버나 디렉토리 단위로 설정할 수 있습니다.

동적 로딩을 끄는 주 이유는 보안입니다. 동적 로딩으로, 모든 open_basedir 제한을 무시할 수 있습니다. 기본값은 안전 모드를 사용할 때를 제외하고 동적 로딩을 허용합니다. 안전 모드에서는 항상 dl()을 사용할 수 없습니다.

max_execution_time integer

스크립트가 실행할 수 있는 최대 시간을 설정합니다. 이는 잘못 쓰여진 스크립트가 서버를 멈추는 것을 방지합니다. 기본값은 30입니다. PHP를 명령줄에서 실행할 때 기본값은 0입니다.

최대 실행 시간은 시스템 호출, 스트림 작업 등에는 영향을 받지 않습니다. 자세한 내용은 set_time_limit()를 참고하십시오.

안전 모드로 실행할 때는 이 설정을 ini_set()으로 변경할 수 없습니다. 안전 모드를 끄거나 php.ini에서 시간 제한을 변경해야 합니다.

웹 서버가 다른 시간 초과 설정을 가져서, PHP 실행을 중단할 수 있습니다. 아파치는 Timeout 지시어가 있고, IIS는 CGI timeout 함수가 있습니다. 둘 다 기본값은 300초입니다. 자세한 사항은 웹 서버 문서를 참고하십시오.

max_input_time integer

POST, GET, 파일 업로드 등의 입력 데이터 처리에 허용하는 최대 시간을 설정합니다. 타이밍은 PHP가 호출되는 순간부터 시작해서 실행이 시작될때 끝납니다.

max_input_nesting_level integer

입력 변수(즉, $_GET, $_POST.)의 최대 중첩 깊이를 설정합니다.

max_input_vars integer

받아들일 수 있는 입력 변수 수입니다(제한은 $_GET, $_POST, $_COOKIE 수퍼글로벌 변수 각각에 적용됩니다). hash collisions를 사용하는 denial of service 공격을 방어하기 위하여 사용합니다. 이 지시어에 지정된 수보다 많은 입력 변수가 존재할 경우 E_WARNING이 발생하고, 요청의 나머지 변수는 무시됩니다.

magic_quotes_gpc boolean
Warning

이 기능은 PHP 5.3.0부터 배제되어, PHP 5.4.0부터 제거됩니다.

GPC (Get/Post/쿠키) 작동의 magic_quotes 상태를 설정합니다. magic_quotes가 on이면, 모든 ' (작은 따옴표), " (큰 따옴표), \ (백슬래시), NUL은 자동적으로 백슬래시로 이스케이프됩니다.

Note:

PHP 4에서는 $_ENV도 이스케이프 되었습니다.

Note:

magic_quotes_sybase 지시어도 ON이면 magic_quotes_gpc가 완전히 교체됩니다. 두 지시어를 모두 활성화하면 작은 따음표는 ''로 이스케이프합니다. 큰 따옴표, 백슬래시, NUL은 건들이지 않고, 이스케이프 하지 않습니다.

참고: get_magic_quotes_gpc()

magic_quotes_runtime boolean
Warning

이 기능은 PHP 5.3.0부터 배제되어, PHP 5.4.0부터 제거됩니다.

magic_quotes_runtime를 활성화하면, 데이터베이스나 텍스트 파일를 포함한, 어떠한 외부 소스에서 데이터를 가져오는 대부분의 함수는 백슬래시로 인용됩니다. magic_quotes-sybase도 on이면, 작은 따옴표는 백슬래시 대신 작은 따옴표로 이스케이프합니다.

magic_quotes_runtime에 영향을 받는 함수 (PECL 함수는 포함하지 않습니다):

zend.enable_gc boolean

순환 참조 수집기의 활성화 여부.

add a note add a note

User Contributed Notes 4 notes

up
21
rubo77
11 years ago
I think it is important to mention that some distributions apply bugfixes for older versions so "Available since PHP 5.3.9" is not reliable, for example:
debian squeeze implemented the directive max_input_vars in PHP 5.3.3-7+squeeze7 (see http://ftp-master.metadata.debian.org/changelogs/main/p/php5/php5_5.3.3-7+squeeze17_changelog )
up
1
csongor at halmai dot hu
4 years ago
The max_input_vars setting is defined as "How many input variables may be accepted" but this is not completely correct. There is a +1 factor.

For example, if the value is 2 then the $_POST array can have up to 3 elements, if it is 1000 then it can have 1001 elements, and so on.

I want to stop the execution of the php code when there is a chance that some data was not received. Therefore, instead of relying on the standard E_WARNING, I do this in my code.

<?php
$max_input_vars
= ini_get('max_input_vars');
if (
count($_POST) === $max_input_vars + 1) {   // note the +1 here
   
throw new Exception();
}
?>

If the size of the $_POST array reaches the maximum then there is the chance that there was more data so it is better to stay on the safe side and increase the config value.
up
-4
horst at pepperzak.com
13 years ago
Caution: Although magic_quotes_gpc is flagged as dreprecated the default value is still "ON". So you will explicitly have to put

magic_quotes_gpc = Off

into your php.ini. Commeting out the magic_quotes_gpc-line will not turn magic_quotes_gpc off.
up
-86
Anonymous
10 years ago
The max_input_vars limit can be overcome by reading the input in raw, i.e.:
<?php
  $sRawInputData
= fopen( 'php://input' );
?>
To Top