미니옵빠의 code stubs
php.ini 설정 파일 본문
The configuration file
설정 파일(configuration file)은 (PHP 3.0에서는 php3.ini 이고, PHP 4.0에서는 php.ini 이다.) PHP가 시작될 때 읽혀진다. 서버 모듈 형태의 PHP는 이 작업을 서버가 실행 될 때 한번만 하게 된다. CGI형태의 경우는 CGI 프로그램이 실행 될 때마다 매번 일어난다.
PHP를 아파치 모듈로 사용할 때는, PHP의 설정을 Apache configuration 파일과 .htaccess 파일에서 지정하여 설정할 수도 있다.
PHP 3.0에서는, PHP의 지시자(directive)들과 동일한 Apache httpd.conf 지시자가 있다. httpd.conf에서의 지시자 이름은 php3.ini의 지시자 이름 앞에 "php3_"를 붙인 것이다.
PHP 4.0에서는 다음과 같은 몇 개의 Apache 지시자를 사용하여 PHP 설정을 바꿀 수 있다.
- php_value name value
-
지정된 변수에 원하는 값을 설정한다.
- php_flag name on|off
-
Boolean 값을 가지는 설정 옵션의 값을 설정한다.
- php_admin_value name value
-
지정된 변수에 원하는 값을 설정한다. "Admin" 으로 지정된 설정은 main Apache 설정파일에서만 설정이 가능하다. .htaccess 파일에서 그 내용을 변경하는 것은 불가능하다.
- php_admin_flag name on|off
-
Boolean 값을 가지는 설정 옵션의 값을 설정한다.
현재 설정된 설정값은 phpinfo() 함수를 사용하여 확인해 볼 수 있다. 또한 개개의 설정 내용을 확인하기 위해서는 get_cfg_var() 함수를 사용하면 된다.
General Configuration Directives
- allow_url_fopen boolean
-
This option enables the URL-aware fopen wrappers that enable accessing URL object like files. Default wrappers are provided for the access of remote files using the ftp or http protocol, some extensions like zlib may register additional wrappers.
참고: This option was introduced immediately after the release of version 4.0.3. For versions up to and including 4.0.3 you can only disable this feature at compile time by using the configuration switch --disable-url-fopen-wrapper .
- asp_tags boolean
-
일반적인 택 대신에 ASP 스타일의 <% %> 택을 추가적으로 사용할 수 있도록 한다. 또한 변수값 출력문인 <%= $value %> 형태의 지원도 포함한다. 자세한 정보는 Escaping from HTML부분을 참조하자.
참고: ASP-style tags 지원은 3.0.4 버전에서 추가되었다.
- auto_append_file string
-
실행될 PHP 파일 뒤에 자동으로 첨부될 파일의 이름을 적는다. 호출된 파일은 include() 함수를 통해서 포함되므로 include_path 지시자가 적용된다.
none 값을 주게 되면 auto-appending이 disable된다.
참고: 만약 스크립트가 exit()로 종료되게 되면 auto-append는 일어나지 않는다.
- auto_prepend_file string
-
실행될 PHP 파일 앞에 자동으로 첨부될 파일의 이름을 적는다. 호출된 파일은 include() 함수를 통해서 포함되므로 include_path 지시자가 적용된다.
none 값을 주게 되면 auto-prepending이 disable된다.
- cgi_ext string
-
- display_errors boolean
-
이 결정자(determine)는 에러가 생겼을 때 에러출력을 HTML로 화면에 나타낼 것인가 아닌가를 결정한다
- doc_root string
-
PHP의 "root directory"를 지정한다. 값이 있는 경우만 적용된다. PHP가 safe mode로 설정되어 있을 경우, 이 디렉토리 밖에 있는 파일은 사용할 수 없다.
- engine boolean
-
이 지시자는 아파치 모듈 버전의 PHP에서만 유효하다. 이것은 사이트에서 디렉토리 단위나, Virtual 서버 단위를 기반으로 PHP 파싱 기능을 켜거나 끄도록 한다. httpd.conf 파일의 적당한 위치에 engine off라고 명시함으로써, PHP를 가능하거나 불가능하게 할 수 있다.
- error_log string
-
스크립트 에러가 로그될 파일 이름을 정한다. 로그 파일로 시스템 로그를 사용하기 위해서 syslog라는 별도의 값이 이용된다. 유닉스에서는 syslog(3)이고, Windows NT에서는 Event log가 된다. Windows 95에서는 시스템 로그를 지원하지 않는다
- error_reporting integer
-
에러 레포팅의 레벨을 설정한다. 이 파라메타 값은 비트 단위로 설정한다. 다음의 값들 중에 원하는 에러 레포팅 레벨의 값을 더해서 설정하면 된다.
기본값은 7 이다(normal errors와 normal warnings, parser errors가 레포트 된다). - open_basedir string
-
PHP가 열어볼 수 있는 파일을 특정 디렉토리 이하로 제한한다.
예를 들어 어떤 스크립트가 fopen이나 gzopen으로 파일을 열려고 할 때 그 파일이 지정된 위치에 있는가 검사한다. 만약 파일이 지정된 디렉티리밖에 있다면, PHP는 이 열기 동작을 거부한다. 모든 symbolic link들은 원래의 이름으로 바뀌어 해석된다. 따라서 이 제한을 피하기 위해 symbolic link를 사용하는 것을 방지할 수 있다.
..이라는 값을 주면 스크립트 파일이 있는 디렉토리가 base-directory로 지정된다.
Windows에서는 세미콜론(;)으로, 다른 OS에서는 콜론(:)으로 구분한다. As an Apache module, open_basedir paths from parent directories are now automatically inherited.
참고: PHP 3.0.7 부터, 한 개 이상의 디렉토리를 지정할 수 있도록 되었다.
기본값은 모든 파일을 열 수 있는 것이다.
- gpc_order string
-
GET / POST / COOKIE 변수들의 해석 순서를 정한다. 기본값은 "GPC"이다. 예를들어 "GP"라고 설정한다면, PHP는 cookie들은 완전히 무시하고, 같은 이름을 가지 POST 변수가 있는 GET 변수는 POST 변수의 값으로 덮어 쓰여지게 된다.
- ignore_user_abort string
-
기본값은 On이다. 만약 이 값이 Off이면, 원격 클라이언트가 실행중 연결을 끊으면 스크립트의 수행이 중단된다. ignore_user_abort().
- include_path string
-
require()와 include(), fopen_with_path() 함수들이 사용하는 파일을 찾을 위치(path)를 지정한다. string의 형식은 시스템 환경변수 PATH의 설정과 비슷하다. UNIX에서는 콜론으로 나뉘어진 디렉토리들의 리스트이고, Windows에서는 세미콜론을 사용한다.
- isapi_ext string
-
- log_errors boolean
-
스크립트 에러 메시지가 서버의 에러 로그에 로그되는 가를 정한다. 이 옵션은 서버에 따라 다르게 동작한다.
- magic_quotes_gpc boolean
-
GPC (Get/Post/Cookie) 동작 중에 일어나는 magic_quotes 기능을 설정한다. magic_quotes가 설정되어 있으면 GPC에서 입력된 모든 ' (single-quote)와 " (double quote), \ (backslash), NUL 의 앞에 백슬래시(\)가 자동으로 붙게 된다. 또한, magic_quotes_sybase 같이 설정되어 있으면 '(single-quote)는 백슬래시(\)가 아닌 single-quote(')가 앞에 붙게 된다.
- magic_quotes_runtime boolean
-
만약 magic_quotes_runtime이 설정되어 있다면, database와 text 파일에서 읽어 들이는 모든 데이터에 있는 ' (single-quote)와 " (double quote), \ (backslash), NUL 의 앞에 백슬래시(\)가 붙는다. 또한, magic_quotes_sybase 같이 설정되어 있으면 '(single-quote)는 백슬래시(\)가 아닌 single-quote(')가 앞에 붙게 된다.
- magic_quotes_sybase boolean
-
만약 magic_quotes_gpc나 magic_quotes_runtime이 설정되어 있고, magic_quotes_sybase도 같이 설정되어 있으면 '(single-quote)는 백슬래시(\)가 아닌 single-quote(')가 앞에 붙게 된다.
- max_execution_time integer
-
PHP 구문해석기(parser)가 한 스크립트를 처리하는데 걸리는 최대 시간을 초단위로 설정한다. 이것은 문제가 있는 스크립트로부터 서버가 모두 점유당하는 것을 방지하는데 도움이 된다. 기본값은 30이다.
- memory_limit integer
-
한 스크립트가 할당받을 수 있는 메모리의 최대 크기를 지정한다. 이것은 문제가 있는 스크립트로부터 서버 전체의 메모리가 잡혀 먹히는 것을 방지한다.
- nsapi_ext string
-
- register_globals boolean
-
EGPCS (Environment, GET, POST, Cookie, Server) 변수들을 전역 변수로 설정할 것인가를 정한다. 사용자의 데이타를 스크립트의 전역 변수 영역에 난잡하게 쌓아놓기를 원하지 않는다면 이 설정은 꺼놓는 것이 좋다. 이 설정은 track_vars 설정를 고려해서 사용하면 매우 유용하게 사용할 수 있다. track_vars설정을 켜 놓으면 사용자의 EGPCS 변수들은 모두 $HTTP_ENV_VARS, $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS, $HTTP_SERVER_VARS 배열을 통해 전역 영역(global scope)에서 접근가능하게 된다.
- short_open_tag boolean
-
PHP의 Open 태그로 short form ()의 사용을 허가하거나 불허한다. 만약 여러분이 PHP와 XML을 함께 사용한다면 short form의 사용을 불가능하게 하여야 한다. 짧은 태그의 사용이 불가능하다면, PHP의 Open 태그로는 long form()만을 사용하여야 한다.
- sql.safe_mode boolean
-
- track_errors boolean
-
이 지시자가 설정되어 있으면 $php_errormsg이라는 전역 변수에 마지막으로 발생한 에러의 메시지가 들어있게 된다.
- track_vars boolean
-
이 지시자가 설정되면, $HTTP_ENV_VARS, $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS, $HTTP_SERVER_VARS 의 전역 associative 배열에 모든 Environment, GET, POST, Cookie, Server 변수 들의 이름과 값을 저장한다.
PHP 4.0.3에서는, track_vars는 항상 On으로 설정된다.
- upload_tmp_dir string
-
파일 업로드시 파일을 저장할 임시 디렉토리를 지정한다. PHP가 동작하게되는 User ID에 대해 쓰기 권한이 있어야 한다.
(역자주: . 이나 ./tmp 등도 가능하며, .의 경우 해당 스크립트가 존재하는 디렉토리를 의미한다. safe mode에서 file upload를 위해서는 ./tmp등을 사용하여야 한다.)
- user_dir string
-
PHP 파일들이 위치한 홈 디렉토리의 base를 지정한다. (Ex. public_html).
- warn_plus_overloading boolean
-
이것이 설정되면, 문자열에 더하기(+) 연산자가 사용될 때 PHP가 주의 메시지를 출력하게 만든다. 이 옵션은 스크립트의 더하기 연산자를 문자열 concatenator(.)로 다시 작성하는데 도움을 준다.
Mail Configuration Directives
- SMTP string
-
PHP가 사용할 SMTP 서버의 DNS 이름이나 IP 번호. Windows환경에서 mail() 함수로 편지를 보내려면 이 옵션을 반드시 설정해 주어야 한다
- sendmail_from string
-
Windows환경에서 PHP가 편지를 보낼 때 "From:"에 사용될 메일 어드레스.
- sendmail_path string
-
sendmail 프로그램을 찾을 Path. 보통은 /usr/sbin/sendmail이나 /usr/lib/sendmail에 있다. configure 프로그램이 sendmail의 위치를 찾아 이것을 기본값으로 설정해 주지만, 그것이 잘되지 않았거나 오류가 있을 때, 여러분은 여기서 직접 지정해 줄 수 있다.
sendmail을 사용하지 않는 시스템의 경우 현재 제공되고 있는 다른 메일 시스템의 sendmail 호환 명령(sendmail wrapper/replacement)으로 설정해 주어야 한다. 예를들어 Qmail 사용자는 보통 /var/qmail/bin/sendmail로 설정해 주면 된다.
Safe Mode Configuration Directives
- safe_mode boolean
-
PHP를 안전 모드(safe mode)로 작동되도록 한다. 자세한 내용은 Security chapter를 살펴보기 바란다.
- safe_mode_exec_dir string
-
PHP가 안전 모드에서 작동할 때, system() 이나 기타 다른 프로그램을 실행 시키는 함수들은 이 디렉토리에 있는 프로그램이 아니면 작업을 거부한다.
Debugger Configuration Directives
- debugger.host string
-
디버거가 사용할 host의 DNS name 이나 IP address
- debugger.port string
-
디버거가 사용할 Port 번호.
- debugger.enabled boolean
-
디버거를 작동시킨다.
Extension Loading Directives
- enable_dl boolean
-
이 지시자는 PHP를 아파치 모듈로 실행할 때만 효력을 가진다. PHP에서 dl()을 사용하여 extension을 dynamic loading하는 기능을 virtual server나 디렉토리 별로 가능하게 하거나 불가능하게 할 수 있다
dynamic loading을 불가능하게 하는 첫번째 이유는 보안상의 이유이다. dynamic loading에서는 모든 safe_mode 설정과 open_basedir 설정이 무시될 수 있기 때문이다.
기본값은 모든 dynamic loading을 허용하는 것이다. 단, safe-mode를 사용하는 중에는 항상 dl()의 사용이 불가능해 진다.
- extension_dir string
-
동적으로 적재 가능한(dynamically loadable) extension을 찾을 디렉토리를 설정한다
- extension string
-
PHP가 시작될 때 로드할 dynamically loadable extension들을 설정한다.
MySQL Configuration Directives
- mysql.allow_persistent boolean
-
영구적인(persistent) MySQL 접속을 허가한다.
- mysql.default_host string
-
데이터베이스 서버에 연결할 때 별도의 host 지정이 없을 경우 사용되는 기본 서버 호스트를 지정한다.
- mysql.default_user string
-
데이터베이스 서버에 연결할 때 별도의 사용자 ID 지정이 없을 경우 사용되는 기본 사용자 ID를 지정한다.
- mysql.default_password string
-
데이터베이스 서버에 연결할 때 별도의 암호 지정이 없을 경우 사용되는 기본 암호를 지정한다.
- mysql.max_persistent integer
-
프로세스당 영구적인(persistent) MySQL 접속의 최대 개수
- mysql.max_links integer
-
영구적인(persistent) 접속을 포함한 프로세스당 MySQL 접속의 최대 개수
mSQL Configuration Directives
- msql.allow_persistent boolean
-
영구적인(persistent) mSQL 접속을 허가한다.
- msql.max_persistent integer
-
프로세스당 영구적인(persistent) mSQL 접속의 최대 개수
- msql.max_links integer
-
영구적인(persistent) 접속을 포함한 프로세스당 mSQL 접속의 최대 개수
Postgres Configuration Directives
- pgsql.allow_persistent boolean
-
영구적인(persistent) Postgres 접속을 허가한다.
- pgsql.max_persistent integer
-
프로세스당 영구적인(persistent) Postgres 접속의 최대 개수
- pgsql.max_links integer
-
영구적인(persistent) 접속을 포함한 프로세스당 Postgres 접속의 최대 개수
SESAM Configuration Directives
- sesam_oml string
-
SESAM 드라이버 모듈을 포함하고 있는 BS2000 PLAM 라이브러리의 이름 SESAM 함수를 사용하려면 꼭 지정해 주어야 한다. 그리고, BS2000 PLAM 라이브러리는 아파치 서버의 사용자 ID로 읽을 수 있도록 ACCESS=READ,SHARE=YES로 설정해야 한다.
- sesam_configfile string
-
SESAM 어플리케이션 설정 파일의 이름. SESAM 함수를 사용하려면 꼭 지정해 주어야 한다. BS2000 파일은 아파치 서버의 사용자 ID로 읽을 수 있어야 한다.
SESAM 어플리케이션 설정 파일은 보통 다음과 같은 내용으로 설정되어 있다. (SESAM reference manual을 살펴보라) :
- sesam_messagecatalog string
-
SESAM message catalog 파일의 이름. 대부분의 경우 이 지시자는 필요 없다. 단지 SESAM message 파일이 BS2000 message 파일 테이블에 설정되어 있지 않은 경우에 이 지시자를 사용하여 설정한다.
message catalog는 아파치 서버의 사용자 ID로 읽을 수 있도록 ACCESS=READ,SHARE=YES로 설정해야 한다.
Sybase Configuration Directives
- sybase.allow_persistent boolean
-
영구적인(persistent) Sybase 접속을 허가한다.
- sybase.max_persistent integer
-
프로세스당 영구적인(persistent) Sybase 접속의 최대 개수
- sybase.max_links integer
-
영구적인(persistent) 접속을 포함한 프로세스당 Sybase 접속의 최대 개수
Sybase-CT Configuration Directives
- sybct.allow_persistent boolean
-
영구적인(persistent) Sybase-CT 접속을 허가한다.
- sybct.max_persistent integer
-
프로세스당 영구적인(persistent) Sybase-CT 접속의 최대 개수. 기본값은 -1로 제한없음을 의미한다.
- sybct.max_links integer
-
영구적인(persistent) 접속을 포함한 프로세스당 Sybase-CT 접속의 최대 개수. 기본값은 -1로 제한없음을 의미한다.
- sybct.min_server_severity integer
-
severity를 가지는 서버 메시지 개수가 sybct.min_server_severity에 설정한 값보다 크거나 같아지면 warning을 레포트한다. 이 값은 스크립트에서 sybase_min_server_severity()함수를 통해 설정할 수도 있다. 기본 값은 10이다.
- sybct.min_client_severity integer
-
severity를 가지는 클라이언트 라이브러리 메시지 개수가 sybct.min_server_severity에 설정한 값보다 크거나 같아지면 warning을 레포트한다. 이 값은 스크립트에서 sybase_min_client_severity()함수를 통해 설정할 수도 있다. 기본 값은 10이다.
- sybct.login_timeout integer
-
서버에 연결을 시도하고 기다리는 최대 시간. 단위는 초이고 지정된 시간에 연결이 완료되지 못하면 연결 동작은 실패하는 것이다. 만약 연결시도 중 max_execution_time의 설정을 초과하게 되면 스크립트는 연결 실패를 알리기 전에 종료되어 버린다. 기본값은 1분이다
- sybct.timeout integer
-
select_db나 query등의 명령을 주고 응답을 기다리는 최대 시간. 단위는 초이고 지정된 시간안에 응답이 없으면 이 동작은 실패하는 것이다. 만약 연결시도 중 max_execution_time의 설정을 초과하게 되면 스크립트는 동작 실패를 알리기 전에 종료되어 버린다. 기본값은 없고, 무한정 기다리는 것이다.
- sybct.hostname string
-
sp_who에 의해 표시될 연결을 요청하는 host의 이름. 기본값은 없다.
Informix Configuration Directives
- ifx.allow_persistent boolean
-
영구적인(persistent) Informix 접속을 허가한다.
- ifx.max_persistent integer
-
프로세스당 영구적인(persistent) Informix 접속의 최대 개수
- ifx.max_links integer
-
영구적인(persistent) 접속을 포함한 프로세스당 Informix 접속의 최대 개수
- ifx.default_host string
-
ifx_connect()나 ifx_pconnect() 함수에 호스트가 지정되지 않았을 경우 사용할 기본 호스트.
- ifx.default_user string
-
ifx_connect()나 ifx_pconnect() 함수에 user id가 지정되지 않았을 경우 사용할 기본 user id.
- ifx.default_password string
-
ifx_connect()나 ifx_pconnect() 함수에 password가 지정되지 않았을 경우 사용할 기본 password.
- ifx.blobinfile boolean
-
blob 칼럼을 파일에서 반환하려 한다면 true를, 메모리에서 반환하려면 false를 설정한다. 이 설정은 ifx_blobinfile_mode() 함수를 사용하여 실행중에 변경할 수 있다.
- ifx.textasvarchar boolean
-
select 문에서 TEXT 컬럼의 내용을 일반적인 문자열로 반환하고 싶다면 True, blob id 파라메터를 사용하고 싶다면 False를 설정한다. 이 설정은 ifx_textasvarchar()함수를 사용하여 실행 중 변경할 수 있다.
- ifx.byteasvarchar boolean
-
select 문에서 BYTE 컬럼의 내용을 일반적인 문자열로 반환하고 싶다면 True, blob id 파라메터를 사용하고 싶다면 False를 설정한다. 이 설정은 ifx_textasvarchar()함수를 사용하여 실행 중 변경할 수 있다.
- ifx.charasvarchar boolean
-
데이터를 가져올 때 CHAR 컬럼의 뒤쪽 공백을 자동으로 잘라내려면 True를 설정한다
- ifx.nullformat boolean
-
NULL 컬럼에 대하여 "NULL"이라는 문자열을 반환하려면 True, 공백 문자열("")을 반환하려면 False를 설정한다. 이 설정은 ifx_nullformat()함수를 사용하여 실행 중 변경할 수 있다.
BC Math Configuration Directives
- bcmath.scale integer
-
모든 bc 수학 함수들이 사용하는 십진 자리수.
Browser Capability Configuration Directives
- browscap string
-
browser 기능(capabilities) 파일의 이름. See also get_browser().
Unified ODBC Configuration Directives
- uodbc.default_db string
-
odbc_connect()나 odbc_pconnect()에서 ODBC data source 가 지정되지 않았을 때 사용할 값를 지정한다
- uodbc.default_user string
-
odbc_connect()나 odbc_pconnect()에서 User name이 지정되지 않았을 때 사용할 값를 지정한다
- uodbc.default_pw string
-
odbc_connect()나 odbc_pconnect()에서 Password가 지정되지 않았을 때 사용할 값를 지정한다
- uodbc.allow_persistent boolean
-
영구적인(persistent) ODBC 접속을 허가한다.
- uodbc.max_persistent integer
-
프로세스당 영구적인(persistent) ODBC 접속의 최대 개수
- uodbc.max_links integer
-
영구적인(persistent) 접속을 포함한 프로세스당 ODBC 접속의 최대 개수