Jin Buguo의 번역 작업인 php5.2의 구성 파일에 대한 자세한 설명은 참고하기에 더 유용합니다.
;;????????????????????
;; php.ini에 대해서 ;;
;;;;;; ;;;;;;;;;;
; 이 파일의 이름은 'php.ini'로 지정되어야 하며 httpd.conf의 PHPINIDir 지시문에 의해 지정된 디렉터리에 저장되어야 합니다.
; 최신 버전의 php.ini는 다음 두 위치에서 볼 수 있습니다:
; http://cvs.php.net/viewvc.cgi/php-src/php.ini-recommended?view= co
; http://cvs.php.net/viewvc.cgi/php-src/php.ini-dist?view=co
;;;;;;;;;;; ;
;; 구문 ;;
????????????????
; 이 파일의 구문은 매우 간단합니다. 공백 문자와 세미콜론으로 시작하는 줄은 무시됩니다.
; 섹션 제목(예: [php])도 나중에 의미가 있을지라도 무시됩니다.
;
; 설정 지시어의 형식은 다음과 같습니다.
; directive = value
; 지시어 이름(지시어)은 대소문자를 구분합니다! 따라서 "foo=bar"는 "FOO=bar"와 다릅니다.
; 값은 다음과 같습니다.
; 1. 따옴표로 구분된 문자열(예: "foo")
2. 숫자(예: 0, 1, 34, -1, 33.55)
; 3. PHP 상수(예: E_ALL, M_PI)
4. INI 상수(On, Off, none)
; as : E_ALL & ~E_NOTICE)
;
; INI 파일의 표현식은 비트 연산자, 논리 NOT, 괄호:
| & 비트 및
; NOT
; ! 논리적 NOT
;
;
;
; 등호 뒤에 아무 것도 쓰지 않거나 none 키워드를 사용하여 빈 문자열을 표현할 수 있습니다.
foo를 빈 문자열로 설정
; foo를 빈 문자열
으로 설정; foo를 'none'
;
; 지시문 값 확장에서 사용하는 경우
; 그러면 동적으로 확장된 명령줄을 로드한 후에만 이 상수를 사용할 수 있습니다.
; 보다 유연한 구성을 위해 특정 가상 호스트 또는 디렉터리에 대해 php.ini 값을 재정의할 수 있습니다.
; 값을 none으로 설정하면 이전 설정이 삭제됩니다.
; php_admin_flag name on|off; bool 유형 명령어 설정에만 사용됩니다.
[Tip] php_value/php_flag를 사용한 설정을 허용하지 않는 명령어가 많습니다. 이 두 가지를 사용하는 것이 좋습니다.
;
; PHP 상수(예: E_ALL)는 php.ini에서만 사용할 수 있으며 해당 마스크 값은 httpd.conf에서 사용해야 합니다.
;[2008년 3월 2일 업데이트]
;============================== = ================================================ = ==========
;= ============================================= ==== ====================================
각각의 설정; 아래 명령 값은 PHP-5.2.5에 내장된 기본값과 동일합니다.
즉, 'php.ini'가 없거나 일부 줄을 삭제해도 기본값은 동일합니다.
;;;;;;;;;;;;
아파치 ;;
[Apache ]
; PHP를 Apache 모듈로 사용할 때만 작동합니다.
child_terminate = Off
; PHP 스크립트가 요청 종료 후 하위 프로세스를 종료하기 위해 apache_child_terminate() 함수를 사용할 수 있는지 여부.
engine = On
; PHP 파싱 엔진 활성화 여부.
last_modified = Off
; PHP 스크립트의 마지막 수정 시간을 Last-Modified 응답 헤더에 배치할지 여부입니다.
xbithack = Off
; 파일의 끝과 상관없이 PHP 실행 가능 바이트 그룹으로 파싱할지 여부.
;;;;;;;;;;;;;
;; PHP 코어 ;;
[PHP-Core-DateTime]
; 처음 4개의 구성 옵션은 현재 date_sunrise() 및 date_sunset() 함수에만 사용됩니다.
date.default_latitude = 31.7667
; 기본 위도
date.default_longitude = 35.2333
; 기본 경도
date.sunrise_zenith = 90.583333
; Sunrise zenith
date.sunset_zenith = 90.583333
; 기본 sunset zenith
date.timezone =
TZ 환경 변수가 설정되지 않은 경우 모든 날짜 및 시간에 사용됩니다. 기본 시간대.
적용 시간대의 우선 순위는 다음과 같습니다.
1. date_default_timezone_set() 함수로 설정된 시간대(설정된 경우) 2. TZ 환경 변수(비어 있지 않은 경우)
; 3. 명령의 값(설정된 경우)
4. PHP 자체 추측(운영 체제에서 지원하는 경우)
; 위의 성공하지 못한 경우 "UTC"를 사용하세요.
[PHP-Core-Assert]
assert.active = On
; Assertion 실패 시 스크립트 실행 중단 여부
; Assertion 실패 시 실행되는 콜백 함수
assert.quiet_eval = Off
; 자동 평가 사용 여부(오류 정보가 표시되지 않습니다. error_reporting=0과 동일).
; 끄면 어설션 표현식을 평가할 때 현재 error_reporting 지시어 값이 사용됩니다.
assert.warning = On
; 실패한 어설션마다 경고를 발행할지 여부
[PHP-Core-SafeMode]
; 문제로 인해 서버가 설립되었습니다.
; 하지만 이 문제를 PHP 계층에서 해결하려는 것은 구조적으로 무리가 있습니다.
; 올바른 접근 방식은 웹 서버 계층과 운영 체제 계층을 수정하는 것입니다.
따라서 PHP6에서는 안전 모드가 폐지되고 open_basedir 기반의 보안 보호가 사용됩니다.
; PHP6에서는 이 부분이 완전히 삭제되었습니다.
safe_mode = Off
; 안전 모드 활성화 여부.
; 열면 PHP는 현재 스크립트의 소유자가 작업 중인 파일의 소유자와 동일한지 확인합니다.
; 작업이 거부됩니다.
safe_mode_gid = Off
; 안전 모드에서는 파일에 접근할 때 기본적으로 UID 비교 검사가 수행됩니다.
그러나 어떤 경우에는 엄격한 UID 검사가 적합하지 않고 느슨한 GID 검사로 충분합니다.
; GID 비교만 수행하도록 완화하려면 이 매개변수를 켜면 됩니다.
safe_mode_allowed_env_vars = "PHP_"
; 사용자가 안전 모드에서만 변경할 수 있는 환경 변수에 대한 쉼표로 구분된 접두사 목록입니다.
사용자가 잠재적인 보안 취약성을 초래할 수 있는 특정 환경 변수를 설정할 수 있습니다.
참고: 이 매개변수 값이 비어 있으면 PHP는 사용자가 모든 환경 변수를 변경할 수 있도록 허용합니다!
safe_mode_protected_env_vars = “LD_LIBRARY_PATH”
; 사용자가 안전 모드에서 변경할 수 없는 환경 변수 목록(쉼표로 구분).
; 이 변수는 safe_mode_allowed_env_vars 지시문이 allowed로 설정된 경우에도 보호됩니다.
safe_mode_exec_dir = “/usr/local/php/bin”
; 안전 모드에서는 이 디렉터리에 있는 실행 프로그램만 시스템 프로그램의 기능으로 실행되도록 허용됩니다.
; 이러한 기능은 다음과 같습니다: system, escapeshellarg, escapeshellcmd, exec, passthru,
; proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, shell_exec
safe_mode_include_dir =
; 이 그룹 디렉터리와 그 하위 디렉터리에 있는 파일이 포함되어 있으면 UID/GID 확인을 건너뜁니다.
즉, 여기에 값이 비어 있으면 UID/GID가 일치하지 않는 파일은 포함되지 않습니다.
; 여기에 설정된 디렉터리는 include_path 지시문에 이미 존재하거나 전체 경로에 포함되어 있어야 합니다.
; 여러 디렉터리를 구분하려면 콜론(Win에서는 세미콜론)을 사용하세요.
; 지정된 제한은 실제로 디렉토리 이름이 아닌 접두사입니다.
즉, "/dir/incl"은 "/dir/include" 및 "/dir/incls"에 대한 액세스를 허용합니다.
; 특정 디렉토리에 대한 액세스를 제한하려면 뒤에 슬래시를 추가하십시오.
[PHP-Core-Safe]
allow_url_fopen = On
; 원격 파일 열기 허용 여부
allow_url_include = Off
; 원격 포함/요구 문서.
disable_classes =
; 이 지시어는 특정 클래스를 비활성화하기 위해 쉼표로 구분된 클래스 이름 목록을 허용합니다.
disable_functions =
; 이 지시어는 특정 기능을 비활성화하기 위해 쉼표로 구분된 함수 이름 목록을 허용합니다.
enable_dl = On
; dl() 함수 사용을 허용할지 여부입니다. dl() 함수는 PHP가 아파치 모듈로 설치된 경우에만 작동합니다.
; dl() 함수를 비활성화하는 것은 주로 보안상의 이유입니다. 왜냐하면 open_basedir 지시문의 제한 사항을 우회할 수 있기 때문입니다.
; 여기서 설정한 방법에 관계없이 안전 모드에서는 항상 dl() 기능을 비활성화합니다.
; 이 지시문은 PHP6에서 삭제되었으며 이는 Off로 설정하는 것과 같습니다.
expose_php = On
; 서버에 PHP가 설치되어 있다는 사실을 노출할지 여부(http 헤더에 서명 추가)
; 직접적인 보안 위협은 없지만 클라이언트에게 서버에 PHP가 설치되어 있음을 알려줍니다.
open_basedir =
; PHP가 작동하도록 허용된 모든 파일(파일 자체 포함)을 이 디렉토리 목록 그룹으로 제한합니다.
; 스크립트가 지정된 디렉터리 트리 외부에 있는 파일을 열려고 하면 거부됩니다.
; 모든 심볼릭 링크가 해결되므로 심볼릭 링크를 통해 이 제한을 우회하는 것은 불가능합니다.
; 특수 값 '.'은 스크립트가 저장된 디렉토리가 기본 디렉토리로 사용됨을 지정합니다.
그러나 이는 스크립트의 작업 디렉토리가 chdir()에 의해 쉽게 변경될 수 있기 때문에 다소 위험합니다.
; 공유 서버의 경우 다양한 가상 호스트 또는 디렉토리에 대해 httpd.conf에서 이 지시어를 유연하게 설정하는 것이 매우 유용합니다.
; Windows에서는 세미콜론을 사용하고 UNIX 시스템에서는 콜론을 사용합니다.
; Apache 모듈로 사용하는 경우 상위 디렉터리의 open_basedir 경로가 자동으로 상속됩니다.
; 지정된 제한은 실제로 디렉토리 이름이 아닌 접두사입니다.
즉, "/dir/incl"은 "/dir/include" 및 "/dir/incls"에 대한 액세스를 허용합니다. 🎜>; 특정 디렉터리에 대한 액세스를 제어하려면 뒤에 슬래시를 추가하세요.
; 기본값은 모든 파일을 열 수 있도록 허용하는 것입니다.
sql.safe_mode = Off
; SQL 안전 모드 사용 여부.
; 켜져 있으면 기본값을 지정하는 데이터베이스 연결 기능은 지원되는 매개변수 대신 이러한 기본값을 사용합니다.
각 데이터베이스의 연결 기능에 대한 기본값은 해당 매뉴얼 페이지를 참조하세요.
[PHP-Core-Error]
error_reporting = E_ALL & ~E_NOTICE
; 오류 보고 수준은 E_ALL | E_STRICT; 1 E_ERROR 치명적인 런타임 오류
; 2 E_WARNING 런타임 경고(치명적이지 않은 오류)
; 4 E_PARSE 컴파일 시간 구문 분석 오류
8 E_NOTICE 런타임 알림(종종 버그, 의도적일 수 있음) ; 16 E_CORE_ERROR PHP 시작 초기화 중 치명적인 오류
; 32 E_CORE_WARNING PHP 시작 초기화 중 경고(치명적이지 않은 오류)
64 E_COMPILE_ERROR 컴파일 중 치명적인 오류
; error)
; 256 E_USER_ERROR 사용자 정의 치명적인 오류
; 512 E_USER_WARNING 사용자 정의 경고(심각하지 않은 오류)
; 1024 E_USER_NOTICE 사용자 정의 알림(종종 버그, 의도적일 수 있음)
; 2048 E_STRICT 코딩 표준화 경고(향후 호환성을 위해 수정 방법 권장)
; 4096 E_RECOVERABLE_ERROR 치명적인 런타임 오류가 발견되지 않으면 E_ERROR
로 처리됩니다. 6143 E_ALL E_STRICT( 8191(모두 포함)
; 또한 2147483647(모든 바이너리 비트는 모두 1)을 사용하여 현재 또는 미래에 발생할 수 있는 다양한 오류를 열 수 있습니다.
track_errors = Off
display_errors = On
; 최종 게시된 웹사이트에서는 이 기능을 끄고 대신 오류 로깅을 사용하는 것이 좋습니다(아래 참조).
최종 게시된 웹사이트에서 이 기능을 켜면 파일 경로, 데이터베이스 계획 또는 웹 서비스의 기타 정보와 같은 일부 보안 정보가 노출될 수 있습니다.
display_startup_errors = Off
; PHP 시작 오류 표시 여부.
; 디버깅을 위해 반드시 사용해야 하는 경우가 아니라면 이 기능을 끄는 것이 좋습니다.
report_memleaks = On
; 이 매개변수는 디버그 모드에서 컴파일된 PHP에서만 작동합니다.
report_zend_debug = On
; 아직 문서가 없습니다.
html_errors = On
; 오류 메시지에 HTML 태그를 사용할지 여부.
docref_root = ;"http://localhost/phpmanual/"
docref_ext = ;".html"
; 오류 또는 오류를 일으킨 기능을 설명하는 페이지로 직접 연결됩니다.
; http://www.php.net/docs.php,
에서 PHP 매뉴얼을 다운로드하고 docref_root 지시문을 로컬 매뉴얼이 있는 URL 디렉토리로 지정할 수 있습니다.
; 또한 docref_ext 지시어를 설정하여 파일 확장자를 지정해야 합니다('.'를 포함해야 함).
참고: 게시된 사이트에서는 이 기능을 사용하지 마세요.
error_prepend_string = ;””
; 오류 메시지 전 문자열 출력에 사용됩니다. 오류 메시지 후 문자열 출력
xmlrpc_errors = Off
xmlrpc_error_number = 0
; 아직 문서가 없습니다
define_syslog_variables = Off
; LOG_CRON 등
; Define_syslog_variables() 함수를 호출하여 런타임에 이러한 변수를 정의할 수 있습니다.
error_log =
; 오류 로그를 기록할 파일입니다. 파일은 웹 서버 사용자가 쓸 수 있어야 합니다.
; syslog는 시스템 로그(NT에서는 이벤트 로그, Unix에서는 syslog(3))에 기록되는 것을 의미합니다.
; 여기에 값을 설정하지 않으면 웹 서버의 오류 로그에 오류가 기록됩니다.
log_errors = Off
; 로그 파일에 오류를 기록할지 여부와 기록할 위치는 error_log 지시어에 따라 다릅니다.
; 최종적으로 웹사이트를 게시할 때 직접 출력 대신 로깅 오류를 사용하는 것이 좋습니다.
이렇게 하면 민감한 정보를 노출하지 않고도 문제가 발생한 부분을 알 수 있습니다.
log_errors_max_len = 1024
; 오류 로그에 첨부된 오류 메시지와 관련된 오류 소스의 최대 길이를 설정합니다.
; 여기에 설정된 값은 $php_errormsg뿐만 아니라 표시되고 기록된 오류에도 유효합니다.
; 무제한 길이를 허용하려면 0으로 설정하세요.
ignore_repeated_errors = Off
오류 로그 기록 시 반복되는 오류 메시지를 무시할지 여부.
; 오류 메시지는 동일한 파일의 동일한 줄에 나타나야 중복으로 간주됩니다.
ignore_repeated_source = Off
; 반복되는 오류 메시지 무시 시 반복되는 오류 소스도 무시할지 여부입니다.
[PHP-Core-Mail]
; 메일 기능을 사용하려면 PHP가 컴파일 타임에 sendmail 프로그램에 액세스할 수 있어야 합니다.
qmail이나 postfix와 같은 다른 메일 프로그램을 사용하는 경우 해당 sendmail 래퍼를 사용해야 합니다.
; PHP는 먼저 시스템의 PATH 환경 변수에서 sendmail을 검색한 후 다음 순서로 검색합니다.
; ucblib: /usr/lib
; sendmail을 PATH에서 찾을 것을 적극 권장합니다.
또한, PHP를 컴파일하는 사용자는 sendmail 프로그램에 대한 액세스 권한이 있어야 합니다.
SMTP = “localhost”
; mail() 함수에서 이메일을 보내는 데 사용되는 SMTP 서버의 호스트 이름 또는 IP 주소입니다. win32에만 해당됩니다.
smtp_port = 25
; SMTP 서버의 포트 번호입니다. win32에만 해당됩니다.
sendmail_from =
; 이메일을 보낼 때 사용되는 "보낸 사람:" 헤더의 이메일 주소입니다. win32에만 해당
; 이 옵션은 "Return-Path:" 헤더도 설정합니다.
sendmail_path = “-t -i”
; unix에서만 매개변수도 지원됩니다(기본값은 'sendmail -t -i').
; 일반적으로 "/usr/sbin/sendmail 또는 /usr/lib/sendmail"입니다.
; 구성 스크립트는 프로그램을 찾아 기본값으로 설정하려고 시도하지만 실패할 경우 여기에서 설정할 수 있습니다.
; sendmail을 사용하지 않는 시스템은 이 명령을 sendmail 대안으로 설정해야 합니다(사용 가능한 경우).
예를 들어 Qmail 사용자는 일반적으로 "/var/qmail/bin/sendmail" 또는 "/var/qmail/bin/qmail-inject"로 설정할 수 있습니다.
; qmail-inject는 메일을 올바르게 처리하기 위해 어떤 옵션도 필요하지 않습니다.
mail.force_extra_parameters =
; sendmail 라이브러리에 추가 매개변수로 전달되는 필수 추가 매개변수 값입니다.
; 이 매개변수는 안전 모드에서도 항상 mail()의 5번째 매개변수를 대체합니다.
[PHP-Core-ResourceLimit]
default_socket_timeout = 60
; 기본 소켓 시간 초과(초)
max_execution_time = 30
; 실행 시간(초), 0은 제한이 없음을 의미합니다.
; 이 매개변수는 하위 스크립트가 서버 리소스를 끝없이 점유하는 것을 방지하는 데 도움이 됩니다.
; 이 명령은 스크립트 실행 이외의 시간(예: system()/sleep() 함수 사용, 데이터베이스 쿼리, 파일 업로드)에만 영향을 미칩니다. 등은 포함되지 않습니다.
; 안전 모드에서는 ini_set()을 사용하여 런타임에 이 설정을 변경할 수 없습니다.
; 스크립트가 적용할 수 있는 최대 메모리 바이트 수(K와 M을 단위로 사용할 수 있음)
; 이는 잘못된 스크립트가 서버의 모든 메모리를 소모하는 것을 방지하는 데 도움이 됩니다.
이 지시문을 사용하려면 컴파일할 때 "--enable-memory-limit" 구성 옵션을 사용해야 합니다.
; 메모리 제한을 제거하려면 -1 로 설정해야 합니다.
; 이 지시어를 설정하면 memory_get_usage() 함수를 사용할 수 있게 됩니다.
; 각 스크립트가 입력 데이터(POST, GET, 업로드)를 구문 분석하는 데 허용되는 최대 시간(초)입니다.
; -1은 제한이 없음을 의미합니다.
; 입력 변수의 최대 중첩 깊이(아직 설명 문서가 없음)
; 이 설정은 파일 업로드에도 영향을 미칩니다.
; POST 데이터가 제한을 초과하면 $_POST 및 $_FILES가 비어 있게 됩니다.
; 대용량 파일을 업로드하려면 이 값이 upload_max_filesize 지시문의 값보다 커야 합니다.
; 메모리 제한이 활성화된 경우 이 값은 memory_limit 지시문의 값보다 작아야 합니다.
; PHP에서 사용하는 실제 경로(정규화된 절대 경로 이름) 버퍼 크기를 지정합니다.
; PHP가 많은 수의 파일을 여는 시스템의 성능을 향상하려면 이 값을 늘려야 합니다.
; realpath 버퍼에 있는 정보의 유효 기간(초)입니다.
; 파일이 거의 변경되지 않는 시스템의 경우 성능 향상을 위해 이 값을 늘릴 수 있습니다.
;
; upload_max_filesize, upload_tmp_dir, post_max_size 지침 참조
;
; 파일 업로드 시 파일이 저장되는 임시 디렉터리(PHP 프로세스 사용자가 쓸 수 있는 디렉터리여야 함)
; 지정하지 않으면 PHP는 시스템 기본 임시 디렉터리를 사용합니다.
PHP6에서는 다음 지침을 삭제했습니다. 이는 모두 Off인 것과 동일합니다
magic_quotes_gpc = Off
; 입력 GET/POST/Cookie 데이터에 대해 자동 문자열 이스케이프(' NULL)를 사용할지 여부입니다.
; 여기의 설정은 $_GEST $_POST $_COOKIE 배열 값에 자동으로 영향을 미칩니다. .
; 이 명령이 Magic_quotes_sybase 명령과 동시에 활성화되면 작은따옴표(')만 ("),
으로 이스케이프됩니다. 즉, ( " NULL)은 그대로 둡니다!
; 이 기능을 끄고 맞춤 필터 기능을 사용하는 것이 좋습니다.
magic_quotes_runtime = Off
; 생성된 데이터에 대해 자동 문자열 이스케이프를 사용할지 여부 런타임 시 외부 리소스에서 ( ' " NULL ).
; 이 명령을 켜면 외부 리소스(데이터베이스, 텍스트 파일 등)에서 대부분의 기능이 반환하는 데이터가 이스케이프됩니다.
; 예를 들어 SQL 쿼리로 얻은 데이터, exec() 함수로 얻은 데이터 등
; (”)로 이스케이프 처리되었으며, 다른 특수 문자는 이스케이프되지 않습니다. 즉, (” NULL )은 그대로 유지됩니다! !
; 상황에 따라 이 기능을 끄고 맞춤 필터 기능을 사용하는 것이 좋습니다.
Sybase 형식의 자동 문자열 이스케이프 사용 여부('를 나타내려면 ' 사용)
highlight.comment = “#FF8000″
highlight.default = “#0000BB”
highlight.html = “#000000″
highlight.keyword = “# 007700″
highlight.string = “#DD0000″
; 구문 강조 모드의 색상(보통 .phps 파일을 표시하는 데 사용됨)
;
; 그렇지 않으면 ""를 사용할 수 있습니까? ;" 긴 태그.
; PHP 프로그램이 통제된 환경에서만 실행되고 자신의 용도로만 사용되는 것이 아니라면 짧은 태그를 사용하지 마세요.
; XML과 함께 PHP를 사용하려면 다음을 수행하세요. ""를 직접 삽입하려면 이 옵션을 끄십시오.
그렇지 않으면 PHP를 사용하여 다음을 출력해야 합니다. < echo '; 이 지시문은 " echo"와 동일한 약어 "="에도 영향을 미칩니다.
에도 영향을 미치는 ASP 스타일 태그 허용 여부
PHP6에서는 제거됩니다. 출력 = "&"
;
allow_call_time_pass_reference = On
; 함수를 호출할 때 매개변수를 참조로 강제로 전달할지 여부(이 기능을 사용할 때마다 경고가 표시됩니다).
; 참조로 전달되는 매개변수를 함수 선언에 명시적으로 지정하는 것이 좋습니다.
; 스크립트가 향후 버전의 언어에서도 제대로 작동하도록 하려면 이 옵션을 끄는 것이 좋습니다.
auto_globals_jit = On
; 이 두 배열이 스크립트에서 사용되지 않는 경우 이 지시어를 켜면 성능이 향상됩니다.
; 이 지시어를 적용하려면 Register_globals 및 Register_long_arrays 지시어를 꺼야 합니다.
auto_prepend_file =
auto_append_file =
; include() 함수를 호출한 것처럼 파일이 포함되므로 include_path 지시어의 값을 사용합니다.
; 참고: exit()를 통해 스크립트가 종료되면 자동 접미사가 발생하지 않습니다.
variables_order = “EGPCS”
각각 E, G, P, C, S로 표시되며 왼쪽에서 오른쪽으로 등록되며 새 값이 이전 값을 덮어씁니다.
; 예를 들어 "GP"로 설정하면 POST 변수가 동일한 이름의 GET 변수
를 덮어쓰게 되고 환경, 쿠키, 서버 변수를 완전히 무시하게 됩니다.
; "GPC" 또는 "GPCS"를 사용하고 getenv() 함수를 사용하여 환경 변수에 액세스하는 것이 좋습니다.
; E, G, P, C, S 변수를 전역 변수로 등록할지 여부.
; 이 지시어를 켜면 스크립트를 매우 주의 깊게 확인하지 않으면 심각한 보안 문제가 발생할 수 있습니다.
; 미리 정의된 슈퍼 전역 변수($_ENV, $_GET, $_POST, $_COOKIE, $_SERVER
)를 사용하는 것이 좋습니다. 이 지시어는 Variable_order 지시어의 영향을 받습니다.
; 이 지시문은 PHP6에서 제거되었습니다.
; $argv 및 $argc 전역 변수 선언 여부(GET 메서드를 사용한 정보 포함).
; 성능 향상을 위해 이 두 변수를 사용하지 말고 이 명령을 끄는 것이 좋습니다.
register_long_arrays = On
; 기존 방식의 긴 배열(HTTP_*_VARS) 활성화 여부.
; 미리 정의된 짧은 형식의 슈퍼글로벌 배열 사용을 권장하고 더 나은 성능을 위해 이 기능을 끄십시오.
; 이 지시문은 PHP6에서 제거되었습니다.
always_populate_raw_post_data = Off
; 항상 $HTTP_RAW_POST_DATA 변수(원시 POST 데이터)를 생성할지 여부.
; 그렇지 않으면 이 변수는 인식할 수 없는 MIME 유형의 데이터가 발견될 때만 생성됩니다.
; 하지만 원시 POST 데이터에 액세스하는 더 좋은 방법은 php://input 입니다.
; enctype="multipart/form-data"가 있는 양식 데이터에는 $HTTP_RAW_POST_DATA를 사용할 수 없습니다.
unserialize_callback_func =
; 역직렬화 프로세서가 정의되지 않은 클래스를 인스턴스화해야 하는 경우
여기에 지정된 콜백 함수는 정의되지 않은 클래스의 이름을 매개변수로 사용하여 unserialize()가 됩니다. 🎜> 불완전한 "__PHP_Incomplete_Class" 객체를 얻는 것을 방지합니다.
; 여기에 함수가 지정되지 않거나 지정된 함수에 정의되지 않은 클래스가 포함되어 있지 않으면 경고 메시지가 표시됩니다.
; 따라서 실제로 그러한 콜백 기능을 구현해야 하는 경우에만 이 지시어를 설정하세요.
; 이 기능을 비활성화하려면 공백으로 두십시오.
; Y2K 준수를 강제로 켤지 여부(Y2K를 준수하지 않는 브라우저에서는 문제가 발생할 수 있음).
; Zend Engine I(PHP 4.x)과 호환되는 모드를 사용할지 여부. 이 지시어는 PHP6에서 삭제됩니다(Off와 동일).
이는 객체 복사, 구성(속성이 없는 객체는 FALSE 또는 0을 생성함) 및 비교에 영향을 미칩니다.
; 호환 모드에서는 기본적으로 객체가 참조 대신 값으로 전달됩니다.
부동 소수점 데이터에 표시되는 유효 자릿수입니다.
; 부동 소수점 및 배정밀도 데이터를 직렬화하고 저장할 때의 정밀도(유효 자릿수)입니다.
; 기본값은 데이터 손실 없이 부동 소수점 데이터가 역직렬 변환기에 의해 디코딩되도록 보장합니다.
; 출력 제어 기능은 특히 정보가 출력된 후 HTTP 헤더를 보낼 때 유용합니다.
; 출력 제어 함수는 header() 또는 setcookie()와 같은 함수에 의해 전송된 HTTP 헤더에 영향을 미치지 않습니다.
; PHP 코드 정보.
; 각 출력 블록 이후에 PHP 출력 계층이 자동으로 데이터를 새로 고치도록 요구할지 여부.
; 이는 각 print(), echo() 및 HTML 블록 후에 자동으로 플러시() 함수를 호출하는 것과 같습니다.
이 옵션을 켜면 프로그램 실행 성능에 심각한 영향을 미치며 일반적으로 디버깅에만 권장됩니다.
; CLI SAPI 실행 모드에서 이 명령의 기본값은 On입니다.
; 출력 버퍼 크기(바이트). 권장값은 4096~8192입니다.
; 출력 버퍼링을 사용하면 본문 내용을 출력한 후에도 HTTP 헤더(쿠키 포함)를 보낼 수 있습니다.
; 가격은 출력 레이어가 약간 느려진다는 것입니다.
; 출력 버퍼링을 설정하면 쓰기를 줄일 수 있으며 때로는 네트워크 패킷 전송도 줄일 수 있습니다.
; 이 매개변수의 실제 이점은 사용 중인 웹 서버와 스크립트 종류에 따라 크게 달라집니다.
; 모든 스크립트의 출력을 출력 핸들러 함수로 리디렉션합니다.
; 예를 들어 mb_output_handler() 함수로 리디렉션하면 문자 인코딩이 지정된 인코딩으로 투명하게 변환됩니다.
; 여기서 출력 핸들러를 지정하면 출력 버퍼링이 자동으로 활성화됩니다(output_buffering=4096).
; 참고 0: 여기서는 PHP 내장 함수만 사용할 수 있으며, 스크립트에서 ob_start()를 사용하여 사용자 정의 함수를 지정해야 합니다.
; 참고 1: 이식 가능한 스크립트는 이 지시어에 의존해서는 안 되지만, 출력 처리 기능을 명시적으로 지정하려면 ob_start() 함수를 사용해야 합니다.
; 이 명령을 사용하면 익숙하지 않은 스크립트에서 오류가 발생할 수 있습니다.
; 참고 2: 두 가지 출력 처리 함수 "mb_output_handler"와 "ob_iconv_handler"를 동시에 사용할 수 없습니다.
; "ob_gzhandler" 출력 처리 기능과 zlib.output_compression 지시어를 동시에 사용할 수 없습니다.
; 참고 3: zlib 출력 압축을 활성화하기 위해 zlib.output_handler 지시문을 사용하는 경우 이 지시문은 비어 있어야 합니다.
; require(), include()에 대한 디렉터리 집합을 지정합니다. , fopen_with_path() 함수는 파일을 검색합니다.
; 형식은 시스템의 PATH 환경 변수와 유사합니다(UNIX에서는 콜론으로, Windows에서는 세미콜론으로 구분).
; UNIX: “/path1:/path2″
;
; 현재 디렉터리를 나타내는 상대 경로를 허용하려면 포함 경로에 '.'을 사용하세요.
; /~username을 사용하여 스크립트를 열 때 찾을 디렉터리를 PHP에 알려줍니다. 비어 있지 않은 경우에만 유효합니다.
즉, 사용자 디렉터리 아래에 있는 PHP 파일의 기본 디렉터리 이름을 사용합니다. 예: "public_html"
; library(모듈) 디렉토리는 PHP가 동적 확장 모듈을 찾기 위해 사용하는 디렉토리입니다.
; Windows에서의 기본값은 "C:/php5"
default_mimetype = “text/html”
default_charset = ;”gb2312″
; PHP는 기본적으로 “Content-Type: text/html” HTTP 헤더를 자동으로 출력합니다.
; default_charset 지시문이 "gb2312"로 설정되면
"Content-Type: text/html; charset=gb2312"가 자동으로 출력됩니다.
; PHP6은 default_charset 지시어 사용을 반대하고 unicode.output_encoding 지시어 사용을 권장합니다.
[PHP-Core-Unicode]
PHP6은 ICU(International Components for Unicode) 라이브러리를 기반으로 포괄적인 유니코드 지원을 제공합니다.
; 컴파일할 때 –with-icu-dir=
Detect_unicode = On
; Zend 엔진이 스크립트의 BOM(바이트 순서 표시)을 확인하여 스크립트에 멀티바이트 문자가 포함되어 있는지 여부를 감지하는지 여부를 나타냅니다.
; 닫는 것을 권장합니다. PHP6에서는 이 지시어를 취소하고 해당 기능을 unicode.script_encoding 지시어로 대체했습니다.
unicode.semantics = Off
; 유니코드 지원 활성화 여부.
; 이 지시문이 활성화되면 PHP는 다음과 같은 완전한 유니코드 환경이 됩니다.
; HTTP에서 허용되는 모든 문자열과 변수는 유니코드가 되며 모든 PHP 식별자도 유니코드 문자를 사용할 수 있습니다.
또한, PHP는 내부적으로 유니코드 문자열을 사용하며 HTTP 입력 및 출력, 스트림, 파일 시스템 작업 등과 같은 유니코드가 아닌 주변 문자(
)의 자동 변환을 담당합니다. 자체는 UTF-8 인코딩에 따라 구문 분석됩니다.
; 이 명령을 활성화한 후에는 바이너리 문자열을 명시적으로 지정해야 합니다. PHP는 바이너리 문자열의 내용에 대해 어떤 가정도 하지 않습니다.
따라서 프로그램은 바이너리 문자열을 적절하게 처리할 수 있는지 확인해야 합니다.
; 이 지시문을 끄면 PHP는 이전과 동일하게 작동합니다.
; 문자열은 유니코드가 되지 않으며 파일과 바이너리 문자열은 이전 버전과 호환되며 php.ini는 "있는 그대로" 스타일 구문 분석을 따릅니다. .
; 이 지시어의 활성화 여부에 관계없이 모든 함수와 연산자는 유니코드 문자열을 투명하게 지원합니다.
unicode.fallback_encoding = UTF-8
; 다른 모든 unicode.*_encoding 지시문에 대한 기본값을 설정합니다.
즉, unicode.*_encoding 지시어가 명시적으로 설정되지 않은 경우 여기에 설정된 값이 사용됩니다.
unicode.runtime_encoding =
; 런타임 인코딩은 PHP 엔진 내에서 내부적으로 바이너리 문자열을 변환할 때 사용되는 인코딩을 지정합니다.
여기 설정은 I/O 관련 작업(예: 표준 출력에 쓰기/파일 시스템 읽기/HTTP 입력 변수 디코딩)에 영향을 미치지 않습니다.
; PHP에서는 문자열을 명시적으로 변환할 수도 있습니다:
; (binary)$str — 바이너리 문자열로
; (unicode)$str — 유니코드 문자열로
; — unicode.semantics가 On이면 유니코드 문자열로 변환하고, 그렇지 않으면 이진 문자열
로 변환합니다. 예를 들어 이 지시문의 값이 iso-8859-1이고 $uni가 유니코드 문자열이면 $ str = (binary)$uni
; iso-8859-1을 사용하여 인코딩된 바이너리 문자열을 기다립니다.
; PHP는 연결, 비교, 매개변수 전달 등의 작업 전에 해당 문자열을 암시적으로 유니코드로 변환한 후 작업을 수행합니다.
; 예를 들어 바이너리 문자열을 유니코드로 연결하는 경우
는 작업을 수행하기 전에 여기의 설정을 사용하여 바이너리 문자열을 유니코드 문자열로 변환합니다.
; PHP가 바이너리가 아닌 문자열을 출력하는 데 사용하는 인코딩입니다.
; 'print' 및 'echo'와 같은 출력 콘텐츠를 여기에 설정된 인코딩으로 자동 변환합니다(이진 문자열을 변환하지 않음).
; 파일과 같은 외부 리소스에 데이터를 쓸 때는
스트림 인코딩 기능을 사용하거나 유니코드 확장 기능을 사용하여 데이터를 수동으로 인코딩해야 합니다.
; PHP6에서는 이전 default_charset 지시어의 사용이 더 이상 사용되지 않으며 이 지시어의 사용을 권장합니다.
; 이전 default_charset 지시문은 Content-Type 헤더에 문자 집합만 지정하고 실제 출력에서는 변환을 수행하지 않았습니다.
; PHP6에서 default_charset 지시문은 unicode.semantics가 꺼져 있는 경우에만 유효합니다.
; 이 지시어를 설정한 후에는 default_charset 지시어 설정에 관계없이 Content-Type 출력 헤더의 'charset' 부분에 이 지시어의 값이 채워집니다.
unicode.http_input_encoding =
; 이 기능은 2007년 4월까지 개발 중이었습니다....
unicode.filesystem_encoding =
; 파일 시스템 관련 함수(예: opendir())는 이 인코딩을 사용하여 파일 이름과 디렉터리 이름을 받아들이고 반환합니다.
; 여기의 설정은 파일 시스템에서 실제로 사용되는 인코딩과 정확히 동일해야 합니다.
unicode.script_encoding =
; PHP 스크립트 자체의 기본 인코딩입니다.
ICU에서 지원하는 모든 인코딩을 사용하여 PHP 스크립트를 작성할 수 있습니다.
; 별도의 스크립트 파일에 대한 인코딩을 설정하려면 스크립트 시작 부분에
;을 사용하면 됩니다. 🎜> 지정합니다. 참고: 첫 번째 줄의 시작 부분에서 시작해야 하며 문자(공백 포함)를 포함할 수 없습니다.
; 이 방법은 해당 스크립트에만 영향을 미칠 수 있으며 포함된 다른 스크립트에는 영향을 미치지 않습니다.
unicode.from_error_mode = 2
unicode.from_error_subst_char = 3f
; 아직 문서가 없습니다
PHP가 자동으로 줄 끝 문자(EOL)를 감지하도록 할지 여부.
; 스크립트가 Macintosh 파일을 처리해야 하는 경우
또는 Macintosh에서 실행 중이고 unix 또는 win32 파일도 처리해야 하는 경우
; fgets() 및 file() 함수는 정상적으로 작동합니다.
그러나 Unix 시스템에서 CR(캐리지 리턴)을 프로젝트 구분 기호로 사용하는 사람들에게는 호환되지 않는 동작이 발생할 수도 있습니다.
또한 첫 번째 행의 EOL 습관을 감지할 때 약간의 성능 저하가 있습니다.
; PWS 및 IIS에만 이 설정이 필요합니다
. http://www.garykeith에서 다운로드할 수 있습니다. .com /browsers/downloads.asp
; browsercap.ini 파일을 받으세요.
사용자가 요청을 중단한 후에도 전체 요청 완료를 고집할지 여부.
; 긴 요청을 수행할 때는 켜는 것을 고려해야 합니다.
긴 요청으로 인해 사용자가 중간에 종료되거나 브라우저가 시간 초과될 수 있기 때문입니다.
; "사용자 에이전트" 문자열 정의
; 이 지시문은 PHP의 핵심 부분에 속하지만 PHP가 시작될 때 동적 확장을 로드하기 위해 세션 모듈
;을 구성하는 데 사용됩니다. 예: Extension=mysqli.so
; "=" 뒤에는 모듈 파일 이름만 사용할 수 있으며 경로 정보는 포함할 수 없습니다.
; 경로 정보는 Extension_dir 지시문을 통해서만 제공되어야 합니다.
; Windows에는 다음 확장이 내장되어 있습니다.
; ; date; Standard
; SimpleXML; wddx; xmlreader; PHP의 "CGI 루트 디렉토리" ". 비어 있지 않은 경우에만 유효합니다.
; 웹 서버의 기본 문서 디렉토리(예: "htdocs")에 실행 가능한 프로그램/스크립트를 배치하는 것은 안전하지 않은 것으로 간주됩니다.
구성 오류로 인해 스크립트가 일반 HTML로 표시됩니다.
;
; 이 옵션이 설정되면 PHP는 doc_root 디렉토리
; PHP가 FORCE_REDIRECT를 지정하지 않고 컴파일되고 IIS가 아닌 서버에서 CGI로 실행되는 경우
이 지시문을 설정해야 합니다(설명서의 보안 섹션 참조).
; 대안은 cgi.force_redirect 지시문을 사용하는 것입니다.
cgi.discard_path = Off
; 아직 문서가 없습니다(PHP6의 새로운 명령)
cgi.fix_pathinfo = On
; CGI 사양을 준수합니다).
; 이전 동작은 PATH_INFO에 관계없이 PATH_TRANSLATED를 SCRIPT_FILENAME으로 설정하는 것이었습니다.
; 이 옵션을 켜면 PHP가 CGI 사양을 준수하도록 경로를 수정합니다. 그렇지 않으면 이전의 부적합 동작이 계속 사용됩니다.
; PATH_INFO에 대한 자세한 내용은 cgi 사양을 참조하세요.
; CGI 모드에서 실행되는 PHP에 보안을 제공하려면 이 기능을 켜는 것이 좋습니다.
; 직접 닫으시면 그에 따른 책임을 지시기 바랍니다.
참고: IIS/OmniHTTPD/Xitami에서는 이 기능을 꺼야 합니다!
cgi.redirect_status_env =
; cgi.force_redirect=On이고 Apache 및 Netscape가 아닌 서버에서 PHP를 실행하는 경우
; 이 변수를 설정하면 보안 취약점이 발생할 수 있으므로 설정하기 전에 수행 중인 작업을 반드시 이해하시기 바랍니다.
cgi.rfc2616_headers = 0
; HTTP 응답 코드를 보낼 때 PHP가 사용하는 헤더를 지정합니다.
; 1로 설정하면 PHP는 RFC2616 표준 헤더를 사용합니다.
; 수행 중인 작업을 모르는 경우 기본값인 0을 유지하세요.
cgi.nph = Off
cgi.check_shebang_line =On
; CGI PHP가 스크립트 상단에서 #!으로 시작하는 줄을 검사할지 여부입니다.
; 스크립트가 독립형 및 PHP CGI 모드에서 모두 실행되는 경우 이 시작 줄이 필요합니다.
; 이 지시어가 켜져 있으면 CGI 모드 PHP는 이 줄을 건너뜁니다.
fastcgi.impersonate = Off
IIS의 FastCGI는 클라이언트 보안 토큰을 가장하는 기능을 지원합니다.
이를 통해 IIS는 런타임의 기반이 되는 요청의 보안 컨텍스트를 정의할 수 있습니다.
; Apache의 mod_fastcgi는 이 기능을 지원하지 않습니다(2002년 3월 17일).
; IIS에서 실행 중인 경우 On으로 설정하고 기본값은 Off입니다.
fastcgi.logging = On
FastCGI를 통한 연결 기록 여부.
[PHP-Core-Weirdy]
; 이 옵션은 문서에만 존재하며 phpinfo() 함수의 출력에는 존재하지 않습니다.
async_send = Off
; 비동기적으로 전송됩니다.
from = ;"john@doe.com"
; 익명 FTP(이메일 주소)의 비밀번호를 정의하세요
;;;;;;;; ;; ;;;
;; 니어코어 모듈 ;;
;;;;;;;;;;;;;;;
[Pcre]
;Perl 호환 정규식 모듈
pcre.backtrack_limit = 100000
PCRE의 최대 역추적 단계 수입니다.
pcre.recursion_limit = 100000
; PCRE의 최대 재귀 깊이입니다.
; 이 값을 너무 높게 설정하면 프로세스의 스택 공간이 소진되어 PHP가 중단될 수 있습니다.
[세션]
; session_register() 또는 $_SESSION을 사용하여 변수를 등록하지 않은 경우.
; 그렇지 않으면 session_start() 사용 여부에 관계없이 세션 기록이 자동으로 추가되지 않습니다.
; 리소스 변수를 포함하거나 순환 참조가 있는 개체는 세션에 저장할 수 없습니다.
; Register_globals 지시문은 세션 변수의 저장 및 복구에 영향을 미칩니다.
session.save_handler = "files"
; 세션과 관련된 데이터를 저장하고 검색하는 핸들러의 이름입니다. 기본값은 파일("파일")입니다.
; 맞춤형 프로세서(예: 데이터베이스 기반 프로세서)를 사용하려면 "사용자"를 사용하세요.
; Memcache를 세션 프로세서로 사용하려면 "memcache"로 설정합니다("--enable-memcache-session" 컴파일 옵션을 지정해야 함).
; PostgreSQL을 사용하는 프로세서도 있습니다: http://sourceforge.net/projects/phpform-ext/
session.save_path = “/tmp”
; . 파일 프로세서의 경우 이 값은 세션 데이터 파일이 생성된 세션 데이터 파일의 경로입니다.
; 기본값은 Windows의 임시 폴더 경로입니다.
; "N;[MODE;]/path" 패턴을 사용하여 경로를 정의할 수 있습니다(N은 정수).
; N은 모든 데이터 파일을 하나의 디렉터리에 저장하는 대신 N 수준 하위 디렉터리를 사용하는 것을 의미합니다.
; [MODE;] 선택 사항, 8진수를 사용해야 합니다. 기본값은 파일 액세스 권한을 나타내는 "600"입니다.
; 이는 다수의 세션에 대한 성능을 향상시키는 좋은 아이디어입니다.
; 참고 0: "N;[MODE;]/path" 주위의 큰따옴표는 생략할 수 없습니다.
; 참고 1: [MODE;]는 프로세스의 umask를 다시 작성하지 않습니다.
참고 2: PHP는 이러한 폴더 구조를 자동으로 생성하지 않습니다. ext/session 디렉터리에 있는 mod_files.sh 스크립트를 사용하여 생성하세요.
; 참고 3: 안전하지 않은 사용자(예: 기본 "/tmp")가 폴더에 액세스할 수 있는 경우 보안 취약성이 발생합니다.
; 참고 4: N>0인 경우 자동 가비지 수집이 실패합니다. 자세한 내용은 아래 가비지 수집 섹션을 참조하세요.
; [보안 팁] 각각의 가상 호스트에 대해 서로 다른 디렉터리를 설정하는 것이 좋습니다.
;
; "memcache" 프로세서의 경우 세션 데이터를 저장하려면 쉼표로 구분된 서버 URL을 정의해야 합니다.
; 예: "tcp://host1:11211, tcp://host2:11211"
; 각 URL은 해당 서버에 전달된 매개변수를 포함할 수 있습니다. 사용 가능한 매개변수는 Memcache::addServer( ) 방법은 동일합니다.
; 예: "tcp://host1:11211?pertant=1&weight=1&timeout=1&retry_interval=15"
session.name = "PHPSESSID"
; 이름에는 문자와 숫자만 포함될 수 있습니다.
session.auto_start = Off
; 고객이 페이지를 방문하면 자동으로 세션을 초기화합니다. 기본적으로 비활성화되어 있습니다.
; 세션이 시작되기 전에 클래스 정의를 로드해야 하므로 이 옵션이 켜져 있으면 세션에 개체를 저장할 수 없습니다.
session.serialize_handler = “php”
; 데이터를 직렬화/역직렬화하는 데 사용되는 프로세서입니다. PHP는 표준 직렬화/역직렬화 프로세서입니다.
; "php_binary"를 사용할 수도 있습니다. WDDX 지원이 활성화되면 "wddx"만 사용됩니다.
session.gc_probability = 1
session.gc_divisor = 100
; 세션이 초기화될 때마다 가비지 수집 프로그램이 시작될 확률을 정의합니다.
; 이 수집 확률의 계산식은 다음과 같습니다. session.gc_probability/session.gc_divisor
; 세션 페이지에 자주 접속할수록 확률은 작아집니다. 권장값은 1/1000~5000입니다.
session.gc_maxlifetime = 1440
; 이 매개변수에 표시된 시간(초)이 지나면 저장된 데이터는 '가비지'로 간주되어 가비지 수집기에 의해 정리됩니다.
; 판단 기준은 데이터가 마지막으로 액세스된 시간입니다(FAT 파일 시스템의 경우 데이터가 마지막으로 새로 고쳐진 시간입니다).
; 여러 스크립트가 동일한 session.save_path 디렉토리를 공유하지만 session.gc_maxlifetimes가 다른 경우
모든 session.gc_maxlifetime 지시어 중 최소값이 우선합니다.
; 데이터 파일을 저장하기 위해 여러 수준의 하위 디렉터리를 사용하는 경우 가비지 수집 프로세스가 자동으로 시작되지 않습니다.
; 가비지 수집을 수행하려면 쉘 스크립트, cron 항목 또는 직접 작성한 기타 방법을 사용해야 합니다.
; 예를 들어 다음 스크립트는 "session.gc_maxlifetime=1440"(24분) 설정과 동일합니다.
; cd /path/to/sessions; find -cmin +24 | 🎜 >session.referer_check =
참고: 요청 헤더에 "Referer" 필드가 전혀 존재하지 않는 경우에도 세션 ID는 유효한 것으로 간주됩니다.
; 기본값은 비어 있습니다. 즉, 검사가 수행되지 않습니다(모두 유효한 것으로 간주됨).
session.entropy_file = ;"/dev/urandom"
생성을 위해 추가됨