728x90

;;;;;;;;;;;;;;;;;;;;;;;
;
이 파일에 대해
;;;;;;;;;;;;;;;;;;;;;;;
;
;
이것은 추천 되는 설정을 기술한 PHP 4 스타일의 php.ini-dist 파일 이다.
;
이 안에는 PHP 를 보다 유용하고 안전하게 해
;
그를 지원하기 위한 약간 비표준의 설정이 있다.
;
;
이러한 설정을 실시하는 일에 의해, 몇개의 어플리케이션에 대해
; PHP
의 호환성이 없어지거나 또 개발이 곤란하게 되는 일도 있을 지도 모르다.
;
;
그런데도 이 파일의 설정을 추천하고 싶다.
;
;
표준 설정으로부터 변경하는 곳은 모두 자세하게 설명하고 있으므로,
;
각각의 엔트리에 대해서 채용해야할 것인가 어떤가를 심사숙고해 주었으면 한다.
;
; php.ini
파일에 관한 일반적인 설정에 대해서는
; PHP
의 배포물에 포함되어 있는 php.ini-dist 파일을 참조.
;
;
이 파일은 php.ini-dist 파일에 비해, 몇개의 지시문의 값이 차이가 난다.
;
이것은 퍼포먼스를 개선하는 반면 이미 동작 하고 있던 PHP3 베이스의
;
표준과는 호환성이 없어질 수도 있다.
;
이 파일을 채용한다면, 뭐가 바뀌었는지를 제대로 인식해,
;
거기에 따라서 스크립트를 고쳐 쓰는 것이 필요하다.
;
; - register_globals = Off [
시큐리티, 퍼포먼스]
;
;
입력 데이터(POST, GET, 쿠키, 환경 변수 그 외의 서버 변수)에 관해서
;
이미 글로벌 변수로서 등록하지 않게 한다.
; $foo
대신에 $_REQUEST["foo"] 를 사용할 필요가 있다.
; (request, namely, POST, GET, cookie
변수도 마찬가지)
;
특정의 $_GET["foo"], $_POST["foo"], $_COOKIE["foo"],
; $_FILES["foo"]
의 형식으로 지정해도 괜찮다.
;
게다가 import_request_variables()도 참조하면 좋을 것이다.
;
;
주의:register_globals 는 시큐리티 관련의 버그를 유발할 가능성이 있다
;
모아 두어 다음의 버젼의 PHP 에서는 추천 되지 않게 되고 있다.
; (
, 디폴트로 Off 가 될 방향)
;
상세한 것에 대하여는
; http://php.net/manual/en/security.registerglobals.php
를 참조.
;
; - display_errors = Off [
시큐리티]
;
;
이 지시문을 off 로 하면 스크립트의 실행중에 에러가 발생 하여도
;
스크립트의 출력으로서의 에러 표시를 하지 않게 되어
;
접속 사용자에게 에러가 발생한것을 모르게 한다.
;
에러가 발생하면 에러 메세지안에 그 스크립트나 웹서버,
;
데이터 베이스 서버 등에 관한 정보가 표출 되는 일이 있어 문제가 발생 할 수 있다.
;
실제 운영중이 환경에서는 이 지시문을 off 로 하는 것이 좋다.
;
; - log_errors = On [
시큐리티]
;
;
이 지시문은 위의 display_errors 를 보완한다.
;
스크립트의 실행중에 발생해 모든 에러는 로그로 남게 된다.
; (
전형적으로는 서버의 에러 로그에 저장 되지만, 그 이외의 방법도 있다)
; (
위의 설정과 함께 다루는 것으로 접속 사용자에 정보를 표출될 일이 없이
;
장해에 관한 상세 정보를 얻을 수가 있다. )
;
; - output_buffering = 4096 [
퍼포먼스]
;
;
출력 버퍼를 4KB 로 설정한다.
;
출력 버퍼링을 유효하게 하면 일반적으로는
;
기입 회수나 가끔 패킷의 송출 횟수가 줄어들어 퍼포먼스의 향상으로 연결된다.
;
이 지시문에 의해 어느 정도 퍼포먼스를 향상 시키지만
;
사용하고 있는 웹서버나 스크립트에 크게 의존한다.
;
; - register_argc_argv = Off [
퍼포먼스]
;
; $argv
$argc 글로벌 변수의 등록을 하지 않는다.
;
; - magic_quotes_gpc = Off [
퍼포먼스]
;
;
입력 데이터가 backslash로 이스케이프 되지 않게 되기 때문에
;
SQL을 데이타베이스에 보낼 수가 없게 된다.
;
이 설정으로 데이타베이스에 보내고 싶은 경우는
;
그때마다 addslashes() 함수를 사용하도록 한다.
;
; - variables_order = "GPCS" [
퍼포먼스]
;
;
환경 변수를 $HTTP_ENV_VARS[] 에 등록 하지 않게 한다.
;
환경 변수에 사용하려면 getenv()를 사용하도록 한다.
;
; - error_reporting = E_ALL [
코드의 정리, 시큐리티]
;
;
디폴트에서는 PHP E_NOTICE 형의 에러를 억제한다.
;
이러한 에러 메세지는 중대하지 않는 에러에 대해서도 표출 되지만
;
그것들은 보다 큰 문제의 징조일 수도 있다.
;
; - allow_call_time_pass_reference = Off [
코드의 정리]
;
;
함수 사용시에, 변수를 강제적으로 참조 하는 것을 금지한다.
;
이것을 PHP4 스타일로 실시하기 위해서는, 함수 정의 시에 관련하는 인수를 참조 하도록 한다.

;;;;;;;;;;;;;;;;;;;;
;
언어 옵션
;;;;;;;;;;;;;;;;;;;;

; Apache
상에서 PHP 의 스크립트 언어 엔진을 유효하게 한다
engine = On

; <?
태그의 사용을 허가한다.
;
허가하지 않는 경우는 <?php <!-- script 태그만 인식되고 <? 태그는 인식하지 않는다.
short_open_tag = On

; ASP
스타일의 <% %> 태그를 허가한다.
asp_tags = Off

;
부동 소수점을 표시할 때의 유효 자리수를 설정한다.
precision = 14

;
강제적으로 2000 년 문제를 대응하게 한다.
; (
대응하고 있지 않는 브라우저의 경우는 문제를 일으킨다)
y2k_compliance = Off

;
출력 버퍼링을 사용하면 PHP 의 출력 층에 있어서의 몇 안 되는 지연되는 곳에
;
바이 부분을 송출한 다음에도(쿠키 포함) 헤더행을 송출할 수 있다.
;
실행시에 출력 버퍼링용 함수를 콜 하는 것으로, 출력 버퍼링을 유효하게 할 수가 있다.
;
또 이 지시문을 On 으로 하면, 모든 파일에 대해 출력 버퍼링이 유효가 된다.
;
버퍼를 특정의 사이즈에 제한하고 싶은 경우는
;
이 지시문의 값으로 'On'대신에 최대의 바이트수를(output_buffering=4096 와 같이) 설정한다.
output_buffering = 4096

; implicit_flush
On 으로 설정하면 출력 층에 대해 각 출력 블록마다 자동적으로 플래시를 하게 된다.
;
이것은 즉, print(), echo() 및 각 HTML 블록의 뒤에 PHP 함수의 flush()를 부르는 것과 같은 내용이다.
;
이 옵션을 유효하게 하면 퍼포먼스의 문제와 밀접하게 관계되므로,
;
일반적으로는 디버그 용도만의 사용에 한정해야 할 것이다.
implicit_flush = Off

;
함수 사용 시에, 변수를 강제적으로 참조 하는 것을 금지한다.
;
이것을 PHP4 스타일로 실시하기 위해서는, 함수 정의 시에 관련하는 인수를 참조 하도록 한다.
allow_call_time_pass_reference = Off

;
;
세이프 모드
;
safe_mode = Off

;
세이프 모드의 디폴트에서는 파일을 오픈할 때에 UID 를 비교한다.
;
이 제한을 풀고 싶은 경우는 safe_mode_gid On 로 한다.
safe_mode_gid = Off

; safe_mode
On 의 경우 파일을
;
이 디렉토리 및 그 하위로부터 include 하는 경우는 UID/GID 의 체크가 스킵 된다.
; (
이러한 디렉토리는 include_path 에 포함되도록 하거나
;
또는 include 시에 절대 경로를 사용해야 한다.)
safe_mode_include_dir =

; safe_mode
On 의 경우 exec 관련의 함수를 통해 실행할 수 있는 권한을
; safe_mode_exec_dir
에 있는 실행 파일만으로 설정 한다.
safe_mode_exec_dir =

; open_basedir
이 설정 되었을 경우 모든 파일 조작은
;
해당 디렉토리 및 그 하위 디렉토리로 제한된다.
;open_basedir =

safe_mode_allowed_env_vars = PHP_
safe_mode_protected_env_vars = LD_LIBRARY_PATH

;
이 지시문에서는 특정의 함수를 시큐리티적인 이유로써 사용할 수 없게 할 수 있다.
;
이것은 인수로서 fopen,fwrite , 단락의 리스트로 설정한다.
;
이것은 safe_mode On/Off 에 관계없이 항상 유효하게 된다.
disable_functions =

;
문법의 하이라이트 표시할 때의 색의 지정.
; <font color="??????">
의 것이라면 설정 가능하다.
highlight.string = #CC0000
highlight.comment = #FF9900
highlight.keyword = #006600
highlight.bg = #FFFFFF
highlight.default = #0000CC
highlight.html = #000000

;
;
그 외
;
; PHP
가 해당 서버에 인스톨 되고
;
사용되고 있다는 내용을 알려주거나 알려주지 않도록 설정한다.
expose_php = On

;;;;;;;;;;;;;;;;;;;
;
자원 제한
;;;;;;;;;;;;;;;;;;;
max_execution_time = 30 ;
각 스크립트의 최대 실행 시간을 초단위로
memory_limit = 8M ;
스크립트 마다의 최대 메모리 소비량


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
에러 핸들링과 로그
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; error_reporting
는 비트 필드에서, 지정한 수치까지의 에러가 보고된다.
;
; E_ALL -
모든 에러와 경고
; E_ERROR -
치명적인 실행시 에러
; E_WARNING -
실행시의 경고(치명적이지 않는 것)
; E_PARSE -
컴파일시의 퍼스 에러
; E_NOTICE -
실행시의 공지 사항(이러한 경고는 작성한 코드의 버그
;
에 기인하는 것이 많지만, 고의의 경우도 있다(,
;
초기화되어 있지 않은 변수를 사용하거나 자동적으로 공문자열
;
에 초기화된다고 하는 사실에 의존했을 경우).
; E_CORE_ERROR - PHP
의 초기화시에 발생한 치명적 에러
; E_CORE_WARNING - PHP
의 초기화시에 발생한 치명적이지 않은 경고
; E_COMPILE_ERROR -
치명적인 컴파일시의 에러
; E_COMPILE_WARNING -
컴파일시의 경고(치명적이지 않는 것)
; E_USER_ERROR -
유저가 생성한 에러 메세지
; E_USER_WARNING -
유저가 생성한 경고 메세지
; E_USER_NOTICE -
유저가 생성한 통지 메세지
;
;
사용예:
;
; -
통지를 제외한 모든 에러를 표시한다
;
;error_reporting = E_ALL & ~E_NOTICE
;
; -
에러만을 표시한다
;
;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR
;
; - E_NOTICE
를 제외한 모든 에러를 표시한다
;
error_reporting = E_ALL

;
에러를 표시한다. 실제 운영 환경에서는 이 기능은 오프로 해 두고
; error_log
기능을 사용하는 것을 추천한다.
;
이것은 실제 운영 환경에서 display_errors 를 유효하게 해 버리면
;
당신의 웹사이트의 파일 정보나 데이타베이스 schema등의 시큐리티 정보를
;
접속 사용자에게 표출 될 수 있기 때문이다.
display_errors = Off

; display_errors
On 의 경우여도 PHP 의 시작시의 에러는 표시되지 않는다.
;
디버그시를 제외해 display_startup_errors Off 인 채로 설정해 두는 것을 추천한다.
display_startup_errors = Off

;
로그 파일에 에러 로그를 기록 한다.
;
전에 얘기 한것과 같이 실제 운영 환경에서는 에러 표시 기능 대신에
;
에러 로그 기능을 사용하는 것을 추천한다.
log_errors = On

;
마지막 에러/경고 메세지를 $php_errormsg 에 저장한다.
track_errors = Off

;
에러 메세지중에 HTML 태그를 넣지 않게 한다.
;html_errors = Off

;
에러 메세지의 전에 출력하는 캐릭터 라인
;error_prepend_string = "<font color=ff0000>"

;
에러 메세지의 뒤에 출력하는 캐릭터 라인
;error_append_string = "</font>"

;
지정된 파일에 에러를 기록한다
;error_log = filename

; syslog
에 에러를 기록한다. (NT 에서는 이벤트 로그, Windows 95 에서는 무효)
;error_log = syslog

;
캐릭터 라인에 + 연산자가 사용되고 있으면 경고
warn_plus_overloading = Off

;;;;;;;;;;;;;;;;;
;
데이터·핸들링
;;;;;;;;;;;;;;;;;
;
;
주의 - track_vars PHP 4.0.3 현재는 *항상* 유효하다.

;arg_separator.output = "&amp;"

;
입력 URL 를 퍼스 해 변수로 하기 위해서 PHP 로 사용되는 단락 문자의 리스트.
;arg_separator.input = ";&"

;
이 지시문은 PHP 가 등록하는 GET, POST, Cookie 환경 변수
; (
순서에 G, P, C, E, S, 자주 EGPCS GPC 등으로 불린다)에 있어서의 순서를 규정한다.
;
등록은 왼쪽에서 오른쪽을 향해 행해져 새로운 값은 낡은 값을 덮어 쓴다.
variables_order = "GPCS"

; EGPCS
변수를 글로벌 변수로서 등록할지 말지를 설정한다.
;
; register_globals
Off 한 채로도 움직이는 PHP 스크립트를 쓰도록 평소부터 노력해 두면 좋다.
;
코드의 불편함을 그다지 자주 생각하지 않은 채 변수를 글로벌로서 액세스를 가능하게 하면
;
잠재적으로 세큐리티를 발생시킬 수 있다.
register_globals = Off

; argc
argv 변수
; (GET
의 정보에 포함될 가능성이 있다.)를 선언할지 말지를 규정한다.
;
이러한 변수를 사용하지 않으면 퍼포먼스를 개선한다.
register_argc_argv = Off

; PHP
가 받아들이는 일을 할 수 있는 POST 데이터의 최대 사이즈
post_max_size = 8M

;
이 지시문은 추천 되지 않는다. 대신에 variables_order 를 사용하라.
gpc_order = "GPC"

; Magic quotes
;

; GET/POST/Cookie
의 입력 데이터에 관해서 특수 문자를 이스케이프
magic_quotes_gpc = Off

;
실행시에 생성된 데이터
; (
SQL 로부터의 데이터, exec()로부터 등)에 관한 특수 문자 이스케이프
magic_quotes_runtime = Off

; sybase
스타일의 특수 문자 이스케이프( ' \' 대신에 '' 로 변환한다.)
magic_quotes_sybase = Off

; PHP
문서의 전후에 파일을 자동적으로 추가한다.
auto_prepend_file =
auto_append_file =

; PHP
4.0b4 현재의 디폴트에서는,
; Content-type:
헤더로 항상 문자 인코딩을 출력한다.
; charset
의 송신을 시키고 싶지 않으면, 설정값을 비운다.
;
;
디폴트는 text/html 이다.
default_mimetype = "text/html"
;default_charset = "iso-8859-1"

;
항상 $HTTP_RAW_POST_DATA 변수를 발생시킨다
;always_populate_raw_post_data = On

;;;;;;;;;;;;;;;;;;;;;;;;;
;
패스와 디렉토리
;;;;;;;;;;;;;;;;;;;;;;;;;

; UNIX: "/
패스1:/패스 2"
;include_path = ". :/php/includes"
;
; Windows: "\
패스1;\패스 2"
;include_path = ". ;c:\php\includes"

; PHP
페이지의 root 디렉토리
doc_root =

; /~username
로 액세스 되었을 경우에 PHP 가 스크립트를 실행한다
user_dir =

;
확장 모듈이 있는 디렉토리
extension_dir = . /

; dl()
함수를 유효하게 할지를 설정한다.
; dl()
함수는 IIS Zeus 라고 하는
;
멀티 thread 서버에서는 올바르게 동작 하지 않고 자동적으로 무효가 된다.
enable_dl = On

;;;;;;;;;;;;;;;;
;
파일의 업 로드
;;;;;;;;;;;;;;;;

;
파일의 업로드를 허가할지를 설정한다.
file_uploads = On

; HTTP
로 파일을 업 로드할 때의 임시 작업 디렉토리
; (
지정되지 않는 경우는 시스템의 디폴트(TEMP 디렉토리)가 사용된다)
;upload_tmp_dir =

;
업 로드하려는 파일의 최대 사이즈
upload_max_filesize = 2M

;;;;;;;;;;;;;;;;;;
; Fopen
의 설정
;;;;;;;;;;;;;;;;;;

; URL(http://
ftp:// )을 파일로서 취급할지를 결정한다
allow_url_fopen = On

; anonymous ftp
의 패스워드 지정(당신의 메일 주소)
;from="john@doe.com"

;;;;;;;;;;;;;;;;;;;;;;
;
동적인 확장 기능
;;;;;;;;;;;;;;;;;;;;;;
;
;
자동적으로 로드 되는 확장 기능을 사용하고 싶은 경우는 아래에서 지정한다:
;
; extension=modulename.extension
;
;
예를 들어, Windows 라면:
;
; extension=msql.dll
;
;
혹은, UNIX 라면,
;
; extension=msql.so
;
;
지정하는 것은 모듈명에만 해야 한다.
;
여기에서는 디렉토리명을 지정할 필요는 없다.
;
확장 기능의 장소는 extension_dir 디렉토리로 지정한다.
;
; Windows
의 확장 기능
;
주의:MySQL ODBC 의 기능은 표준으로 짜넣어지고 있으므로, dll 는 불필요하다.
;
;extension=php_bz2.dll
;extension=php_ctype..dll
;extension=php_cpdf.dll
;extension=php_curl.dll
;extension=php_cybercash.dll
;extension=php_db.dll
;extension=php_dba.dll
;extension=php_dbase.dll
;extension=php_dbx.dll
;extension=php_domxml.dll
;extension=php_dotnet.dll
;extension=php_exif.dll
;extension=php_fbsql.dll
;extension=php_fdf.dll
;extension=php_filepro.dll
;extension=php_gd.dll
;extension=php_gettext.dll
;extension=php_hyperwave.dll
;extension=php_iconv.dll
;extension=php_ifx.dll
;extension=php_iisfunc.dll
;extension=php_imap.dll
;extension=php_ingres.dll
;extension=php_interbase.dll
;extension=php_java.dll
;extension=php_ldap.dll
;extension=php_mbstring.dll
;extension=php_mcrypt.dll
;extension=php_mhash.dll
;extension=php_ming.dll
;extension=php_mssql.dll
;extension=php_oci8.dll
;extension=php_openssl.dll
;extension=php_oracle.dll
;extension=php_overload.dll
;extension=php_pdf.dll
;extension=php_pgsql.dll
;extension=php_printer.dll
;extension=php_shmop.dll
;extension=php_snmp.dll
;extension=php_sockets.dll
;extension=php_sybase_ct.dll
;extension=php_w32api.dll
;extension=php_xslt.dll
;extension=php_yaz.dll
;extension=php_zlib.dll

## 에러 메세지 관련

error_log String

String
은 스크립트에 의해(PHP 자체가 아닌) 생성된 오류들을 기록하는 파일을 지정한다.
만약 특정값 syslog 가 사용되었다면 오류들은 대신 시스템의 로거(logger)로 보내진다.

error_reporting Integer

오류 ㄹㅗㅎ고 레벨을 설정한다.
매개변수인 Integer 는 하나 또는 다음 펴에 있는 비트값들의 합을 나타내는 정수이다.

예를 들어, 만약 일반 오류들, 일반 경고들 그리고 스타일과 연관된 경고들만 원한다면
Integer
값이 11이라고 계산을 할 수 있다. (, 1+2+8)

기본값은 7이다. , 일반 오류, 일반 경고 그리고 파서 오류 등이 보고된다.

비트값

설명

1

일반 오류

2

일반 경고

4

파서 오류

8

스타일 관련 경고(심각하지 않은)



display_errors Boolean

오류들이 HTML 출력 형식으로 화면상에 인쇄되어야 하는지 여부를 결정한다.
만약 False로 설정되어 있다면 PHP로부터 비밀스런 오류 메세지를 브라우저로 보내는 것 대신
어떤 오류 핸들링을 수행할 수 있다.

또한, @으로 시작되는 오류메세지들의 표시를 중지시킬 수도 있다.

error_prepend_string String
error_append_string String

오류 출력할때 사용하는 HTML 스트링 이다.
화면에 표시되는 오류 메세지를 HTML 로 꾸미고 싶을ㄸㅒ 사용한다.

PHP
ini_set 명령으로 사용할때는 다음과 같은 형식으로 사용할 수 있다.


<?
        ini_set("error_prepend_string", "<BR><FONT COLOR=RED><B>PHP 메세지</B></FONT> :: ");
        ini_set("error_append_string", "<BR>");
 
        // ERROR
        foreach($test As $aa);
?>



출력 결과는

Description: 에러 표시>

와 같이 표현 할 수 있다.

## 전자메일 관련 구성

PHP 는 수많은 메일 엑세스 지원 기능들을 가지고 있다.
약간의 노력만 하면 IMAP(Interactive Mail Access Protocol) POP3(Post Office Protocol) 서버에 있는 전자메일을
엑세스하는 프로그램들을 작성할 수 있다.
그 기능들을 API 들을 통해 사용할 수 있지만, 행동을 설정하는 몇 가지 구성 파일 명령어들을 사용할 수도 있다.

SMTP String

이 명령어는 Windows 플랫폼상에 PHP를 설치한 경우에만 적용된다.

여기서 String mail() 함수를 사용하여 메일을 전달하기 위해서 PHP 가 사용하는
SMTP
서버의 DNS 이름이나 IP 주소이다.

사용하는 서버(자신의 컴퓨터) SMTP 서버를 설치하였을 경우에는 localhost 를 입력하시고
그렇지 않을 경우에는 각각 사용하는 인터넷 라인의 ISP 업체의 SMTP 서버 주소를 입력합니다.

ISP
SMTP서버는 다음과 같습니다.

하이텔(Hitel):
smtp.hitel.net

코넷(Kornet):
soback.kornet.net
mail.kornet.net
ppp.kornet.net

천리안(Chollian):
mail.chollian.net

유니텔(Unitel):
203.241.132.90

나우누리(Nownuri):
mail.nownuri.net

아이프리(IFree):
mail.ifree.net

아이넷(I-net):
mail.nuri.net

두루넷(Thrunet):
smtp.korea.com

넷츠고(Netsgo):
netsgo.com

채널아이(Channel-i):
mail.channeli.net

신비로(Shinbiro):
mail.shinbiro.com

엘림넷(Elimnet):
elim.net

인터피아(Interpia):
pop3.interpia.net

키스코(Kisco):
203.233.144.1

미래텔(Miraetel):
miraetel.kornet.nm.kr

경기넷:
mail.kg21.net

하나로통신:
mail.hananet.net

에듀넷(Edunet):
edunet4u.net

보라넷:
mail.bora.net

드림라인:
mail.dreamx.net

해당 되는 ISP 업체가 없거나 해당되지 않을 경우에는 공개 SMTP 서버를 사용하셔도 됩니다.

공개 SMTP 서버:
203.252.32.3
211.40.177.184
211.45.135.11
210.182.173.132
211.32.116.33
210.119.132.13
163.152.3.17
sun.ms98.net

메일 동작 확인 방법은 간단한 mail() 함수를 사용하는 프로그램을 이용해서 할 수 있습니다.

<?
        $to_mail       = "메일주소";
        $to_title      = "제목";
        $to_message    = "메세지";
        
        $ret = mail($to_mail, $to_title, $to_message);
 
        if( $ret )
        {
               echo "메일 전송 성공";
        }
        else
        {
               echo "메일 전송 실패";
        }
?>



sendmail_from String

이 명령어는 Windows 플랫폼 상에서 PHP 를 설치한 경우에만 적용된다.

String
PHP 스크립트로부터 전달되는 메일에 사용되어야 하는 "From:" 메일 주소를 결정한다.

sendmail_path String

이 명령어는 UNIX 플랫폼 상에서 PHP 를 설치한 경우에만 적용된다.

String
은 시스템상에서 실행할 수 있는 sendmail 의 경로를 결정한다.
일반적으로, sendmail의 위치는 /usr/sbin/sendmail 이나 /usr/lib/sendmail (UNIX 상에서)이지만,
그 밖의 다른 위치에 설치한 경우에는 sendmail의 경로를 지정해야 한다.
sendmail
과 유사한 qmail 도 이 명령어로 경로를 지정할 수 있다.

sendmail_path = "/usr/sbin/sendmail -t -i"


##
일반적인 구성

PHP 의 일부 일반 기능 및 내장된 기능들에 영향을 미치는 몇 가지 구성 매게변수들에 대하여 알아보기로 하겠습니다.

auto_append_file String

메인 파일 다음에 자동으로 분석되는 파일 이름을 String 에 지정한다.
이렇게 지정된 파일은 include() 함수로 호출된 것 처럼 포함된다.
특수값인 none 은 자동 추가 기능을 중지 시킨다.
만약 스크립트가 exit() 로 종료된다면 auto-append 작업이 수행되지 않는다.
이 명령어는 특정 웹 사이트에 정형화된 모습과 느낌을 주고자 PHP가 페이지를 생성할 때 유용하다.
이 스크립트는 각 페이지마다 꼬리말을 포함할 때 사용할 수 있다.

auto_append_file = "/path/to/script/footer.php"



auto_prepend_file String

메인 파일보다 먼저 자동으로 분석되는 파일 이름을 String 에 지정한다.
이렇게 지정된 파일은 include() 함수로 호출된 것 처럼 포함된다.
특수값인 none auto-prepend 기능을 중지 시킨다.

이 명령어는 앞서의 스크립트에서처럼 동일한 종류의 시나리오에서 유용하다.
단지, 차이점이라면 모든 페이지에 표준 머리말을 생성하는 데 사용할 수있다는 점이다.

doc_root String

가상 파일 트리의 루트를 정의하며,
그 루트의 하위에 있는 파일들은 안전 모드에서 실행될때 PHP에 의해서만 서비스된다.
이 매개변수는 빈 값이 아닌 값을 가져야 하며, 그렇지 않은 경우에는 무시된다.

웹 서버의 실제 파일 시스템 트리의 특정한 하위 트리로 PHP를 제한하는 것은
보안상의 관점에서 본다면 매우 차이점이 많다.

engine Boolean

PHP
가 아파치 모듈 버전인 경우에만 실제로 유용한 명령어이다.

디렉토리 단위로 또는 가상 서버 기반 단위로 PHP Paser 기능을 켜고 끄는 사이트에서 사용된다.
httpd.conf
파일의 적당한 위치에서 engine On, Off 로 설정하면 PHP는 가능하게 되거나
불가능 하게 된다.

httpd.conf

<VirtualHost sample.com>
        ServerName www.sample.com
        DocumentRoot /home/sample/public_html
 
        php_value engine Off
</VirtualHost>



위와 같은 형식으로 사용할 수 있다.

open_basedir String

PHP
스크립트들이 특정한 디렉토리 트리나 디렉토리 트리 세트에 있는 파일들로만
엑세스 하도록 제한하기를 원하는 경우가 있을 것이다.
인수 String 은 엑세스를 허용하는 디렉토리나 디렉토리들의 리스트를 지정한다.
모든 상징적인 링크들이 사라지므로 이러한 제한 사항을 피하기 위해 symlink를 사용하는 것이 불가능하다.

특수값 '.' 은 스크립트가 저장되어 있는 디렉토리가 기본 디렉토리로 사용될 것이라는 의미한다.
Windows
의 경우에 String 에 여러개의 디렉토리들을 입력할때에는
각각의 디렉토리들을 콜론(:)으로 구분한다.
아파치 모듈인 경우, 상위 디렉토리들로부터의 open_basedir 경로는 이제 자동적으로 상속된다.
기본은 모든 파일들이 열리는 것을 허용하는 것이다.

gpc_order String

HTML
서식을 처리하는 PHP 스크립트들은 이러한 서식으로부터 변수들을 엑세스할 수 있다.
서식들은 GET, POST 메소드에 의해 제출될 것이다.
또한, 쿠키들도 변수들을 스크립트로 전달한다.
GET, POST
그리고 쿠키들로부터변수들이 분석되는 순서는 hpc_order 명령에 의해 주어진다.
인수 String G, P 그리고 C 중에서 하나나 둘, 또는 셋 모두의 조합으로 이루어진다.

예를 들어, 만약 gpc_order = GCP 라면 COOKIE 변수와 동일한 이름의 POST 변수는 COOKIE 변수로서
더높은 우선순위를 가지게 되며, POST 변수는 무시된다.
이러한 순서는 GET,POST,COOKIE 변수 분석의 순서를 결정한다.

이 명령의 기본 설정값은 "GPC" 이다.

예를 들어, "GP" 로 설정되는 경우에 PHP는 쿠키들을 완전히 무시하고
어떤 GET 메소드 변수들을 동일한 이름의 POST 메소드 변수들을
동일한 이름의 POST 메소드 변수들로 겹쳐쓰기할 것 이다.

include_path String

require(), include(), fopen_with_path()
함수들이 파일들을 찾는 디렉토리들의 리스트를 지정한다.
대부분의 시스템에서 String 의 형식은 PATH 환경 변수와 유사하다.

, UNIX에서는 콜론(:)으로, Windows 에서는 세미콜론(;)으로 디렉토리들을 구분한다.

기본값은 현재 디렉토리를 의미하는 '.' 이다.

UNIX: "/path1:/path2"

include_path = ".:/php/includes"

Windows: "\path1;\path2"

include_path = ".;c:\php\includes"



max_execution_time Integer

파서에 의해 종료되기 전, 스크립트의 작업 허용 최대 시간을 초 단위로 설정한다.
이것은 무한 루프를 돌고 있는 스크립트들에 의해 서버가 다운되는 것을 방지한다.

memory_limit Integer

Integer
인수는 스크립트가 할당할 수 있는 메모리의 최대 용량을 바이트 단위로 설정한다.
이것은 잘못 작성된 스키립트가 서버의 메모리를 모두 잠식하는 것을 방지한다.

short_open_tag Boolean

PHP
스크립트들은 원래 <?php ?> 태그 사이에 들어가지만,
단축 형식인 <? ?> 태그 사이에 입력할 수도 있다.

만약 XML 지원기능을 사용한다면 이 옵션을 Off 로 설정해야 한다.
단축 태그가 XML 파서를 혼동하게 만드므로 XML 지원 기능을 사용하려면
원래의 형식으로만 스크립트를 사용해야 한다.

upload_tmp_dir String

인수 String 은 파일 업로드가 수행될 때 파일들을 저장하는 데 사용되는 임시디렉토리를 지정한다.
이 디렉토리는 사용자 PHP가 어떤 형식으로 수행되든지 간에 기록 가능해야 한다.
PHP
가 아파치 모듈인경우 아파치의 사용자 권한을 상속하며, 일반적으로 nobody 이다.

user_dir String

웹 서버는 일반적으로 각 사용자들이 자신의 홈 디렉토리들 아래에 자신의 웹 페이지들을
유지하는 것을 허용한다. (UNIX인 경우)
인수 String PHP파일들을 위한 사용자의 홈 디렉토리에서 사용되는 디렉토리의 기본이름을 나타낸다.

예를 들어, 홈 디렉토리가 /home/okstart 인 사용자 okstart 가 있다고 가정하자.
만약 String public_html 로 설정되었다면 그 사용자는 개인적인 스크립트들이나 페이지들을
/home/okstart/public_html
아래에 저장할 수있다.

## PHP.INI 위치와 설정방법

PHP.INI 파일은 일반적으로

/etc/php.ini

디렉토리에 존재 하게 됩니다.

PHP
컴파일시

--bindir=/usr/local/php4

라고 지정했다면

/usr/local/php4/etc/php.ini

로 지정 됩니다.

만약 OS Windows 일 경우에는

Windows
디렉토리의 php.ini 가 됩니다.

정확한 php.ini 의 위치를 아는방법은.

<? phpinfo(); ?>



를 확인시에 Configuration File (php.ini) Path 을 확인하시면 됩니다.

PHP.INI
설정시에 사용하는 형식은

Integer , String , Boolean , PHP
지정 변수 등이 있습니다.

Integer
은 그냥 정수 형식을 사용하시면 됩니다.
String
은 문자열 형식입니다.

다만 문자열 중간에 빈 값이 들어갈 경우에는 "문자열" 이렇게 " 로 묶어 주셔야 정상작동 합니다.

Boolean
형식은

1, On, True, Yes
0, Off, False, No

으로 표현 됩니다.

728x90

+ Recent posts