PHP.INI 내용과 각 옵션의 기능(PHP4 기준)
페이지 정보
작성자 MintState 댓글 0건 조회 26,463회 작성일 08-11-03 10:41본문
PHP.INI 내용과 각 옵션의 기능(PHP4 기준)
설정 파일은 총 9개의 항목으로 나누어져 있으며 여기서는 함께 설명하겠습니다.
1. engine - PHP가 아파치 모듈로 설치 되었을 경우 특정 디렉토리에서만 스크립트가 동작하게 합니다.
이것은 아파치 httpd.conf 파일에 아래 항목을 추가합니다.
php_admin_flag engine on(PHP3의 경우 php3_engine on)
2. short_open_tag - php tag 사용여부를 정합니다. XML과 같이 사용할 경우 이 부분은 on으로
해야 합니다.
3. asp_tags - ASP 태그의 사용 여부를 설정합니다.
4. y2k_compliance - y2k 문제에 해당하는 브라우저를 위한 설정입니다.
5. safe_mode - php를 안전 모드로 동작 하게끔 하는 설정입니다.
safe_mode_exec_dir 지시자의 해당 디렉토리에 존재하는 실행 파일이 아닌 경우 실행 되지 않습니다.
(root에 있는 파일만 참조하게 합니다.)
6. safe_mode_exec_dir - 실행 프로그램이 있는 디렉토리 명을 적어 줍니다.
"5번"참고
7. max_execution_time - 스크립트 실행 시간을 초단위로 설정합니다.
8. memory_limit - 스크립트 실행 때 메모리 사용을 설정합니다.
9. error_reporting - 에러 출력을 설정합니다.
에러의 종류
1 - 일반적인 에러 출력(Normal function errors)
2 - 일반적인 에러 출력(Normal warnings)
4 - 문법적인 에러 출력(Parser errors)
8 - 버그의 가능성이 있으며 무시할 수 있는 에러 출력(Notices)
10. display_errors - 에러 상황을 html 양식으로 보여줍니다.
11. log_errors - 여러 가지 에러를 로고 파일에 저장합니다.
12. track_errors - $php_errormsg에 마지막의 에러나 경고 메시지를 저장합니다.
13. warn_plus_overloading - 스크립트에서 문자열 결합사용 때 " . " 연산자를 사용하지만 만약
" + "를 사용했을 경우 경고 메시지 출력 여부를 설정합니다.
14. track_vars - GET, POST, COOKIE 등으로 전달된 변수 값을 각각의 $HTTP_GET_VARS , $HTTP_POST_VARS ,
$HTTP_COOKIE_VARS의 배열 변수로 자동 저장 여부를 설정합니다.
15. magic_quotes_gpc - GET , POST , COOKIE 등으로 전달된 데이터에 ‘ " / 등의 문자가 존재할 경우
자동으로 ()역슬래쉬를 붙일지 여부를 설정합니다. 이것은 각 문자를 스크립트와 구별
해서 인식시키기 위해 필요한 부분입니다.
16. magic_quotes_runtime - 외부 스크립트나 여타 소스로부터 돌아오는 데이터에 대해 ()역슬래쉬를 붙일지
여부를 설정합니다.
17. auto_prepend_file - INCLUDE와 비슷한 부분이고, 스크립트의 처음 부분에 포함될 파일명을 적어 줍니다.
18. auto_append_file - "17번"과 같으며 마지막 부분에 포함될 파일명을 적어 줍니다.
19. include_path - INCLUDE, REQUIRE 문의 파일 경로를 설정합니다.
20. doc_root - 서버의 루트 디렉토리를 설정합니다. 안전 모드로 동작할 경우 해당 디렉토리를 벗어나 다른
쪽으로 접근을 할 수 없습니다.
21. user_dir - 서버의 계정을 가진 일반 유저에 PHP 스크립트의 사용을 허가할 수 있습니다.
22. upload_tmp_dir - 파일이 업로드 될 디렉토리를 설정합니다. 기본적으로 /tmp 디렉토리로 업로드 됩니다.
23. upload_max_filesize - 업로드 할 수 있는 최대 파일 크기를 설정합니다.
24. SMTP - mail( ) 함수의 사용을 위해 현 서버의 DNS , IP를 적어줍니다.
25. sendmail_from - 보내는 메일 주소를 설정할 수 있습니다.
26. sendmail_path - sendmail 서버가 있는 위치를 적어 줍니다.
27. debugger.host - 디버거로 사용하는 호스트 명을 적어 줍니다.
28. debugger.port - 디버거로 사용하는 포트 번호를 적어 줍니다.
29. debugger.enabled - 디버거의 사용 여부를 설정 합니다.
30. session.save_handler - 세션과 해당 데이터를 저장하는 방식을 설정하는 부분입니다. 기본적으로 파일 방식
입니다. 세션 항목은 이 책에 사용되는 회원제 부분에서 사용됩니다.
31. session.save_path - 세션 전달 인수를 정의 하는 부분이며 디폴트인 파일 방식일 경우 해당 파일의 경로를
적어 줍니다.
32. session.name - 쿠키 이름으로 사용되어질 세션 이름을 설정합니다. 디폴트는 PHPSESSID입니다.
33. session.auto_start - 세션 요청 시에 자동 모듈 생성 여부를 설정합니다.
0 - off , 1 - on
34. session.lifetime - 해당 세션이 유지 되는 시간을 설정 합니다.
디폴트의 경우 0이며 사용자의 브라우저가 종료 될 때까지 유지됩니다.
35. session.gc_probability - 해당 세션 값이 제거 될 경우 낭비 되는 시스템 메모리 자원을 반납하는 시점을
설정합니다.
36. session.gc_maxlifetime - 해당 세션의 시스템 메모리 자원 반납을 가질 수 있는 시간을 설정합니다.
출처 : http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=1452
----------------------------------------------------------------------------------------------------------------
Session 부분만 정리
[Session]
session.save_handler = files
session.save_path = /tmp
session.use_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.gc_maxlifetime = 1440
session.cache_expire = 180
session.save_handler :
기본적으로 Files 방식을 이용한다.
session_module_name() 을 통하여 현재 설정된 정보를 볼 수 있다. 공유 메모리를 사용하는 MM방식과 USER방식을 지원하다.
USER방식을 사용하는 경우에는 session_set_save_handler(string open, string close, string read, string write, string destroy, string gc)을 이용하여 session_set_save_handler("함수명", "함수명", "함수명", "함수명", "함수명", "함수명")과 같이 콜백 함수를 정의하고 콜백 함수를 호출하여 세션 데이터나 세션ID등을 데이터베이스 등에 보관하여 사용할 수도 있다.
session.save_path :
세션 파일을 저장할 경로을 의미하고 files 방식에서는 /tmp가 기본적인 파일이 저장되는 디렉토리의 절대 경로이다.
session.use_cookies :
세션과 함께 쿠키를 사용할 것인가에 대한 설정으로 기본적으로 쿠키와 함께 사용하도록 되어 있다.
쿠키를 사용하지 않는 경우에는 0으로 설정하고 버전에 따라서는 On과 Off로 설정하기도 한다.
session.name :
세션ID를 쿠키에 저장한 경우 PHP에서 세션ID를 확인하기 위한 변수명을 의미한다.
기본값으로 PHPSESSID로 설정되어 있으며$PHPSESSID라고 하면 세션ID를 확인할 수 있다.
session.auto_start :
PHP시작과 동시에 세션이 자동으로 스타트 되도록 하는 옵션이다.
기본값은 0으로 자동으로 시작되지 않도록 되어 있다.
그러므로 세션을 사용하기 전에는 session_start()를 호출해야 하고, 자동으로 시작하게 하려면 1로 설정하면 된다.
버전에 따라서는 On과 Off로 설정하기도 한다.
session.cookie_lifetime :
세션ID를 저장한 쿠키의 활성화 시간 또는 유효 시간을 설정하는 것이다.
기본값으로는 0이 설정되어 있어 브라우저가 종료되면 자동으로 쿠키값은 삭제된다.
session_set_cookie_params()함수를 이용하여 쿠키의 유효 시간을 변경할 수 있으며 PHP.INI를 수정하여 쿠키 적용 시간을 변경 가능하다.
session.cookie_path :
세션ID가 저장된 쿠키가 적용될 유효 경로(디렉토리)를 설정하는 부분이다.
기본값은 "/"로 모든 경로에서 적용 가능하도록 설정되어 있다.
session.cookie_lifetime과 같이 session_set_cookie_params()함수를 이용하여 쿠키의 적용 디렉토리를 변경할 수 있다.
session.gc_maxlifetime :
사용되지 않는 것으로 보이는 세션 데이터를 삭제한다.
세션ID를 삭제하는 것이 아니라 기본 설정 시간인 1440초 동안 아무런 요청이 없을때 자동으로 세션 데이터를 삭제하도록 되어 있다.
이렇게 자동으로 삭제하는 이유는 서버의 부하를 줄이기도 하지만 클라이언트에서 접속을 종료하였는지 여부를 확인할수 없으므로1440초 동안 사용하지 않는 데이터는 삭제하게 한다.
session.cache_expire :
서버에 저장된 세션ID의 활성화 시간이다.
클라이언트에서 브라우저를 닫아버리면 서버에서는 클라이언트가 연결중인지 아닌지 확인하는 방법이 없으므로 미리 세션데이터를 삭제하고 세션ID는 180분 이후에 삭제시킨다.
만약 세션 ID를 삭제하지 않으려면 PHP.INI를 수정하여 시간을 늘려주면 된다.
설정 파일은 총 9개의 항목으로 나누어져 있으며 여기서는 함께 설명하겠습니다.
1. engine - PHP가 아파치 모듈로 설치 되었을 경우 특정 디렉토리에서만 스크립트가 동작하게 합니다.
이것은 아파치 httpd.conf 파일에 아래 항목을 추가합니다.
php_admin_flag engine on(PHP3의 경우 php3_engine on)
2. short_open_tag - php tag 사용여부를 정합니다. XML과 같이 사용할 경우 이 부분은 on으로
해야 합니다.
3. asp_tags - ASP 태그의 사용 여부를 설정합니다.
4. y2k_compliance - y2k 문제에 해당하는 브라우저를 위한 설정입니다.
5. safe_mode - php를 안전 모드로 동작 하게끔 하는 설정입니다.
safe_mode_exec_dir 지시자의 해당 디렉토리에 존재하는 실행 파일이 아닌 경우 실행 되지 않습니다.
(root에 있는 파일만 참조하게 합니다.)
6. safe_mode_exec_dir - 실행 프로그램이 있는 디렉토리 명을 적어 줍니다.
"5번"참고
7. max_execution_time - 스크립트 실행 시간을 초단위로 설정합니다.
8. memory_limit - 스크립트 실행 때 메모리 사용을 설정합니다.
9. error_reporting - 에러 출력을 설정합니다.
에러의 종류
1 - 일반적인 에러 출력(Normal function errors)
2 - 일반적인 에러 출력(Normal warnings)
4 - 문법적인 에러 출력(Parser errors)
8 - 버그의 가능성이 있으며 무시할 수 있는 에러 출력(Notices)
10. display_errors - 에러 상황을 html 양식으로 보여줍니다.
11. log_errors - 여러 가지 에러를 로고 파일에 저장합니다.
12. track_errors - $php_errormsg에 마지막의 에러나 경고 메시지를 저장합니다.
13. warn_plus_overloading - 스크립트에서 문자열 결합사용 때 " . " 연산자를 사용하지만 만약
" + "를 사용했을 경우 경고 메시지 출력 여부를 설정합니다.
14. track_vars - GET, POST, COOKIE 등으로 전달된 변수 값을 각각의 $HTTP_GET_VARS , $HTTP_POST_VARS ,
$HTTP_COOKIE_VARS의 배열 변수로 자동 저장 여부를 설정합니다.
15. magic_quotes_gpc - GET , POST , COOKIE 등으로 전달된 데이터에 ‘ " / 등의 문자가 존재할 경우
자동으로 ()역슬래쉬를 붙일지 여부를 설정합니다. 이것은 각 문자를 스크립트와 구별
해서 인식시키기 위해 필요한 부분입니다.
16. magic_quotes_runtime - 외부 스크립트나 여타 소스로부터 돌아오는 데이터에 대해 ()역슬래쉬를 붙일지
여부를 설정합니다.
17. auto_prepend_file - INCLUDE와 비슷한 부분이고, 스크립트의 처음 부분에 포함될 파일명을 적어 줍니다.
18. auto_append_file - "17번"과 같으며 마지막 부분에 포함될 파일명을 적어 줍니다.
19. include_path - INCLUDE, REQUIRE 문의 파일 경로를 설정합니다.
20. doc_root - 서버의 루트 디렉토리를 설정합니다. 안전 모드로 동작할 경우 해당 디렉토리를 벗어나 다른
쪽으로 접근을 할 수 없습니다.
21. user_dir - 서버의 계정을 가진 일반 유저에 PHP 스크립트의 사용을 허가할 수 있습니다.
22. upload_tmp_dir - 파일이 업로드 될 디렉토리를 설정합니다. 기본적으로 /tmp 디렉토리로 업로드 됩니다.
23. upload_max_filesize - 업로드 할 수 있는 최대 파일 크기를 설정합니다.
24. SMTP - mail( ) 함수의 사용을 위해 현 서버의 DNS , IP를 적어줍니다.
25. sendmail_from - 보내는 메일 주소를 설정할 수 있습니다.
26. sendmail_path - sendmail 서버가 있는 위치를 적어 줍니다.
27. debugger.host - 디버거로 사용하는 호스트 명을 적어 줍니다.
28. debugger.port - 디버거로 사용하는 포트 번호를 적어 줍니다.
29. debugger.enabled - 디버거의 사용 여부를 설정 합니다.
30. session.save_handler - 세션과 해당 데이터를 저장하는 방식을 설정하는 부분입니다. 기본적으로 파일 방식
입니다. 세션 항목은 이 책에 사용되는 회원제 부분에서 사용됩니다.
31. session.save_path - 세션 전달 인수를 정의 하는 부분이며 디폴트인 파일 방식일 경우 해당 파일의 경로를
적어 줍니다.
32. session.name - 쿠키 이름으로 사용되어질 세션 이름을 설정합니다. 디폴트는 PHPSESSID입니다.
33. session.auto_start - 세션 요청 시에 자동 모듈 생성 여부를 설정합니다.
0 - off , 1 - on
34. session.lifetime - 해당 세션이 유지 되는 시간을 설정 합니다.
디폴트의 경우 0이며 사용자의 브라우저가 종료 될 때까지 유지됩니다.
35. session.gc_probability - 해당 세션 값이 제거 될 경우 낭비 되는 시스템 메모리 자원을 반납하는 시점을
설정합니다.
36. session.gc_maxlifetime - 해당 세션의 시스템 메모리 자원 반납을 가질 수 있는 시간을 설정합니다.
출처 : http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=1452
----------------------------------------------------------------------------------------------------------------
Session 부분만 정리
[Session]
session.save_handler = files
session.save_path = /tmp
session.use_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.gc_maxlifetime = 1440
session.cache_expire = 180
session.save_handler :
기본적으로 Files 방식을 이용한다.
session_module_name() 을 통하여 현재 설정된 정보를 볼 수 있다. 공유 메모리를 사용하는 MM방식과 USER방식을 지원하다.
USER방식을 사용하는 경우에는 session_set_save_handler(string open, string close, string read, string write, string destroy, string gc)을 이용하여 session_set_save_handler("함수명", "함수명", "함수명", "함수명", "함수명", "함수명")과 같이 콜백 함수를 정의하고 콜백 함수를 호출하여 세션 데이터나 세션ID등을 데이터베이스 등에 보관하여 사용할 수도 있다.
session.save_path :
세션 파일을 저장할 경로을 의미하고 files 방식에서는 /tmp가 기본적인 파일이 저장되는 디렉토리의 절대 경로이다.
session.use_cookies :
세션과 함께 쿠키를 사용할 것인가에 대한 설정으로 기본적으로 쿠키와 함께 사용하도록 되어 있다.
쿠키를 사용하지 않는 경우에는 0으로 설정하고 버전에 따라서는 On과 Off로 설정하기도 한다.
session.name :
세션ID를 쿠키에 저장한 경우 PHP에서 세션ID를 확인하기 위한 변수명을 의미한다.
기본값으로 PHPSESSID로 설정되어 있으며$PHPSESSID라고 하면 세션ID를 확인할 수 있다.
session.auto_start :
PHP시작과 동시에 세션이 자동으로 스타트 되도록 하는 옵션이다.
기본값은 0으로 자동으로 시작되지 않도록 되어 있다.
그러므로 세션을 사용하기 전에는 session_start()를 호출해야 하고, 자동으로 시작하게 하려면 1로 설정하면 된다.
버전에 따라서는 On과 Off로 설정하기도 한다.
session.cookie_lifetime :
세션ID를 저장한 쿠키의 활성화 시간 또는 유효 시간을 설정하는 것이다.
기본값으로는 0이 설정되어 있어 브라우저가 종료되면 자동으로 쿠키값은 삭제된다.
session_set_cookie_params()함수를 이용하여 쿠키의 유효 시간을 변경할 수 있으며 PHP.INI를 수정하여 쿠키 적용 시간을 변경 가능하다.
session.cookie_path :
세션ID가 저장된 쿠키가 적용될 유효 경로(디렉토리)를 설정하는 부분이다.
기본값은 "/"로 모든 경로에서 적용 가능하도록 설정되어 있다.
session.cookie_lifetime과 같이 session_set_cookie_params()함수를 이용하여 쿠키의 적용 디렉토리를 변경할 수 있다.
session.gc_maxlifetime :
사용되지 않는 것으로 보이는 세션 데이터를 삭제한다.
세션ID를 삭제하는 것이 아니라 기본 설정 시간인 1440초 동안 아무런 요청이 없을때 자동으로 세션 데이터를 삭제하도록 되어 있다.
이렇게 자동으로 삭제하는 이유는 서버의 부하를 줄이기도 하지만 클라이언트에서 접속을 종료하였는지 여부를 확인할수 없으므로1440초 동안 사용하지 않는 데이터는 삭제하게 한다.
session.cache_expire :
서버에 저장된 세션ID의 활성화 시간이다.
클라이언트에서 브라우저를 닫아버리면 서버에서는 클라이언트가 연결중인지 아닌지 확인하는 방법이 없으므로 미리 세션데이터를 삭제하고 세션ID는 180분 이후에 삭제시킨다.
만약 세션 ID를 삭제하지 않으려면 PHP.INI를 수정하여 시간을 늘려주면 된다.
|
댓글목록
등록된 댓글이 없습니다.