|
|
安装DZ乱码前PHP7.0) W' m1 K; o3 M- H# X
. z- R' X$ G- h( D9 w
- [PHP]
9 q& f2 o O; {( e7 G$ t! x - 2 f; Q1 s0 V. K5 ^
- ;;;;;;;;;;;;;;;;;;;! G( D( |/ m. c' R
- ; About php.ini ;
; t9 v# q, H% P - ;;;;;;;;;;;;;;;;;;;
5 M. k' V5 v' x# Z% a - ; PHP's initialization file, generally called php.ini, is responsible for
4 b" k. L# Q" v$ c& g3 g8 B - ; configuring many of the aspects of PHP's behavior.
( `1 X c; p- h( p; U7 K% v: h
+ ?" R0 `3 b- @" u; E7 f$ [- ; PHP attempts to find and load this configuration from a number of locations.
$ ^% q9 v! ?+ E% ]; w - ; The following is a summary of its search order:
) g: o$ [# j0 v7 x) q8 Q5 {1 c - ; 1. SAPI module specific location.
1 h# `+ q i9 U H - ; 2. The PHPRC environment variable. (As of PHP 5.2.0)
/ L) ~. P; ]8 k. d - ; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0)- O) @2 W% n/ Z! i2 y2 U/ n
- ; 4. Current working directory (except CLI)3 E2 c' }' |/ w+ y3 a' ?& N, {
- ; 5. The web server's directory (for SAPI modules), or directory of PHP
# m- P& ?; p. n% U - ; (otherwise in Windows)
5 D3 j4 H- f! k" i! K0 h6 e - ; 6. The directory from the --with-config-file-path compile time option, or the
0 x7 _$ {4 S3 b8 q - ; Windows directory (C:\windows or C:\winnt)% m% A) X0 q J J$ H" n
- ; See the PHP docs for more specific information.# G/ y! r6 L8 ?+ N+ _" C ~5 j
- ; http://php.net/configuration.file
# g c- q& t1 | - n! d# G3 g7 S# p, i9 q
- ; The syntax of the file is extremely simple. Whitespace and lines; I) E" z- ]) S3 Q5 i! x0 |- `
- ; beginning with a semicolon are silently ignored (as you probably guessed)./ d8 L" V0 m, R8 G3 O
- ; Section headers (e.g. [Foo]) are also silently ignored, even though
2 m0 [0 Y3 n- h" f - ; they might mean something in the future.
& Y; c P& p6 Q6 o9 P4 X; V' Q
; G7 w' _+ X6 g \* B- ; Directives following the section heading [PATH=/www/mysite] only, H2 R- A& _8 U
- ; apply to PHP files in the /www/mysite directory. Directives3 ?( J+ y; `5 |1 z4 [
- ; following the section heading [HOST=www.example.com] only apply to
s- G" T* H* K8 X- R# Q - ; PHP files served from www.example.com. Directives set in these
4 e$ R$ k4 A! x! p - ; special sections cannot be overridden by user-defined INI files or
. X5 y: ~$ s% |& C$ d( g$ }* S( C; u; t - ; at runtime. Currently, [PATH=] and [HOST=] sections only work under
. }5 S: d) g6 _/ X, C* z6 T' O - ; CGI/FastCGI.# u* K4 I% }" A% A9 C5 f
- ; http://php.net/ini.sections9 m, {( Q+ Y0 Z H. K0 z
- . Y" Z1 _" `+ T- W$ g5 |; H, Y& [0 B
- ; Directives are specified using the following syntax:( \+ @' }5 k% Y3 s# `
- ; directive = value
2 {8 y. J6 E; v$ S; m9 n3 ] - ; Directive names are *case sensitive* - foo=bar is different from FOO=bar.
8 ?& _/ x+ U1 ?+ j" c0 G - ; Directives are variables used to configure PHP or PHP extensions.
. G2 s' Z0 O3 L+ J3 z - ; There is no name validation. If PHP can't find an expected
7 _: ?2 M( A' \$ c" x) h0 P. o5 m0 p - ; directive because it is not set or is mistyped, a default value will be used.
2 _/ C9 {$ q$ S" t/ A - . {& X: _' J# q7 G7 X& a9 s7 T, X
- ; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one9 {' h$ [3 z4 q, Z: C" b' y
- ; of the INI constants (On, Off, True, False, Yes, No and None) or an expression
4 T1 ?0 o) Q6 b8 v& u - ; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a
, ~9 e: n% ]+ O, P; c# r" W7 v - ; previously set variable or directive (e.g. ${foo})1 u/ s& r) c# D+ _
- & M% n7 n& {: T) U2 h
- ; Expressions in the INI file are limited to bitwise operators and parentheses:3 k$ M" S6 O, P8 q0 t; T, P% W9 B4 E7 F
- ; | bitwise OR/ V+ G& A& B7 O) E) C5 A
- ; ^ bitwise XOR8 x& j" c. B& v* w
- ; & bitwise AND' z, v- L" X4 x8 T+ H7 u# L/ D* b( ^
- ; ~ bitwise NOT* `$ ]4 L/ ]/ n
- ; ! boolean NOT
- l# _0 D8 x1 S$ G& v7 B - * t8 c0 `4 R0 Q N9 G& `) J! t4 i1 u, d
- ; Boolean flags can be turned on using the values 1, On, True or Yes.3 b0 v$ |: l- B2 i5 [/ h
- ; They can be turned off using the values 0, Off, False or No.9 c. H$ d- \" W" F
Y; z# q( s0 [( f" |0 ~- ; An empty string can be denoted by simply not writing anything after the equal3 P3 z$ z" D0 Q
- ; sign, or by using the None keyword:
- S) `/ n) _5 U( p
; k) T# j5 v' P' V* ]$ ^- ; foo = ; sets foo to an empty string
+ y$ |; K# B2 u6 A( R& I& R - ; foo = None ; sets foo to an empty string; @( N" y" n5 B4 V
- ; foo = "None" ; sets foo to the string 'None'
6 i H5 S0 ^" k' R% X8 W1 K& w - & L4 y8 r* A- k5 {) w8 M' m
- ; If you use constants in your value, and these constants belong to a; l7 O- O$ X- f$ O* A
- ; dynamically loaded extension (either a PHP extension or a Zend extension),- }& C; b5 ?0 n4 @
- ; you may only use these constants *after* the line that loads the extension.% W( z2 `, M/ q% N7 F- t
- ( a' ~/ C' R) C5 s4 o
- ;;;;;;;;;;;;;;;;;;;
, O) h: e; y+ ]0 F; f7 J$ c; W - ; About this file ;( Z& Y0 m! R. t; k6 l
- ;;;;;;;;;;;;;;;;;;;6 ?% F5 k! A6 H2 |" D
- ; PHP comes packaged with two INI files. One that is recommended to be used7 c4 s, D9 t3 T/ s1 b
- ; in production environments and one that is recommended to be used in
( e, Q4 |- E' t$ r2 ]) U - ; development environments.4 u7 G2 Z& q8 ]+ n
- 0 c% j8 U* x& {
- ; php.ini-production contains settings which hold security, performance and* e; T# x; ~ B3 H7 K; ^* ~
- ; best practices at its core. But please be aware, these settings may break7 Y) p+ O3 J% L, G' l/ K2 Y
- ; compatibility with older or less security conscience applications. We
: [" @- N+ a8 u# ^3 | - ; recommending using the production ini in production and testing environments.
% Q u- W; o, S1 O' F: M0 k4 U - 7 E: b! T* S6 a: x, [/ S
- ; php.ini-development is very similar to its production variant, except it is$ t4 `3 G' b: j# n6 w
- ; much more verbose when it comes to errors. We recommend using the
+ D4 \+ ^( m2 |' l4 X$ v - ; development version only in development environments, as errors shown to: s5 T3 ` J) |) U2 k
- ; application users can inadvertently leak otherwise secure information.5 p( \! N+ U2 o/ O
: C- \ I4 Q8 k* S- ; This is php.ini-production INI file.
4 H2 t4 `7 I. |
9 K ?. s/ a/ f q0 P- O8 R Z# ?6 x- ;;;;;;;;;;;;;;;;;;;7 [5 z; s5 x! s
- ; Quick Reference ;8 s& C5 I7 L* k7 `3 C
- ;;;;;;;;;;;;;;;;;;;) y! _: W2 E8 @2 e+ m; ]3 A
- ; The following are all the settings which are different in either the production; y1 A' g$ J8 f* ~6 _8 O& G
- ; or development versions of the INIs with respect to PHP's default behavior.
9 q! A2 k* X1 Z( } - ; Please see the actual settings later in the document for more details as to why* o* F8 p- B3 y* Q; m
- ; we recommend these changes in PHP's behavior.
1 }' s. B1 e; q/ k - , z) I' P+ j$ D9 o. a, o0 r
- ; display_errors
! j2 M1 ?1 @2 m- q. n& [& C: V - ; Default Value: On
: t1 R) b9 U3 L) e) I - ; Development Value: On
4 r# _! J5 z, U8 X, K - ; Production Value: Off
( `# b' A T. l: V9 L/ Q
, ]* O& u( P9 B" |8 E. H7 Q. W- ; display_startup_errors
* E3 g6 U$ x: p1 g& h4 f2 f$ Q - ; Default Value: Off
3 ~- ?" r# U$ y) } - ; Development Value: On C, W$ O/ v2 L
- ; Production Value: Off
/ L+ l6 E6 E3 z1 s
5 A+ O4 r8 V% `* {0 A- ; error_reporting- U3 T2 i- G) s/ R p
- ; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED1 n+ \1 O7 ?8 m5 @/ Q; d3 m
- ; Development Value: E_ALL
+ @, x, b6 U- z, B C3 P - ; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT! Q" [: s, Q& Q* |4 C- [
5 z8 b/ Q3 A5 Y6 W0 \. p- ; html_errors5 a6 h. b- n/ a) \! [$ c
- ; Default Value: On( P* k& j& ^ J4 E, y7 o% R
- ; Development Value: On
% X' _4 H/ \5 @) I" A - ; Production value: On- P4 t: ?0 X2 Q& i
( Q0 _3 k' V* p! r7 V- ; log_errors8 s9 d# S5 [5 R
- ; Default Value: Off
5 C7 o! m6 j5 T6 v8 J - ; Development Value: On
9 y; B' a. [- |7 m7 b$ ?: _: S - ; Production Value: On& o5 ^ M$ G1 g& L$ v
- 1 j9 m" \6 z4 p( Y% f' w% l% D0 g: ~& C
- ; max_input_time
3 E1 P2 J- q' V8 E - ; Default Value: -1 (Unlimited)( ?( k2 V) Z% u) H* _$ y# q5 }: @
- ; Development Value: 60 (60 seconds)$ x x: Q8 ^1 Z8 f+ m4 v6 j
- ; Production Value: 60 (60 seconds)7 y4 A& ^! S; ~- ?6 Z) @+ |
- 5 B N1 m4 T# h: k0 e2 L9 H3 v
- ; output_buffering8 g `- D5 j) O3 H$ W0 w7 x
- ; Default Value: Off
+ }4 B p4 Z |: z8 v; E - ; Development Value: 4096
# E& q- c6 { C7 g* U; D - ; Production Value: 4096& c# t$ J2 G1 x! o- l$ \$ g
4 d- v3 T. K+ K- ; register_argc_argv% q% }) U6 b( |6 @8 E
- ; Default Value: On2 { D/ K) c8 ?5 ]1 I9 L7 E( q' S
- ; Development Value: Off2 R8 {/ U, p0 l; s( g: Q
- ; Production Value: Off
' k, _/ p, D) b; z$ [
9 i7 }$ {! g* S$ l$ ~9 K/ b- ; request_order: s1 G7 Q% I6 V4 a; \9 s
- ; Default Value: None
6 S, }& f0 C/ D: \9 L3 r9 N% | - ; Development Value: "GP"
' l' u3 S9 S/ x6 B8 `, E( q- |1 y - ; Production Value: "GP"
6 R4 @& Y* \+ y0 s8 ^ - ( a9 k& [& ]% q
- ; session.gc_divisor3 t5 z4 a- h+ i) ^ n! \' c5 g% s4 E
- ; Default Value: 100' K! \& `3 i1 }" Q
- ; Development Value: 1000
4 q/ {# V, }5 Y, X" U - ; Production Value: 1000+ n' W8 n0 v' K. W' q9 k2 \
- % m: `3 m0 x4 D
- ; session.hash_bits_per_character& i; L4 O k3 q0 A1 P9 T1 ^
- ; Default Value: 46 _+ [; j7 @% r
- ; Development Value: 5; h4 @! L1 h1 k; O9 y! i; K
- ; Production Value: 5% C- E/ Q1 _+ C: K! n
. q& h- t0 q, g' z# \4 F5 E, O- ; short_open_tag B6 q; g1 W: O2 e3 _2 [3 w. v
- ; Default Value: On: E. E7 l4 h, p' u+ a
- ; Development Value: Off
9 L* M+ u) I4 B+ G1 f1 C - ; Production Value: Off
% \1 h1 k2 d) R
3 J+ D/ R) K% K; \% d- ; track_errors& H! A& z) q3 ^
- ; Default Value: Off
! h, O. J* A; f2 e( d. m: S q - ; Development Value: On
V" a _/ S, o0 x' K; t4 j - ; Production Value: Off) v' x6 M* c6 m* U7 p8 ~: h
; K& P3 F; V" M. g7 C( q- ; url_rewriter.tags
8 [8 B/ h* e; g' Y. n8 K: ^ - ; Default Value: "a=href,area=href,frame=src,form=,fieldset="$ d* A( L0 ~2 ?% M7 V. Q
- ; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry"
7 s8 R4 o" Y, {& y% H8 n - ; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry"' k9 E9 N) S# J8 q2 G! m4 @: z
- ( T% A4 Q5 ^- S& q' \9 l, V* g7 t
- ; variables_order/ i* j- e: C& x8 ^+ [$ D
- ; Default Value: "EGPCS"9 @4 ]" e9 d8 `2 Y; O
- ; Development Value: "GPCS"
) @6 ?; ~ T( l0 P - ; Production Value: "GPCS"$ p, {. t( i, \2 R0 G l
! Q" j: r G6 J/ R- ;;;;;;;;;;;;;;;;;;;;* u9 a- v% t, \8 i, N$ f$ x
- ; php.ini Options ;4 i; |* x c/ I* A
- ;;;;;;;;;;;;;;;;;;;;
! m. X+ k" Z- k! H" f2 |1 Z - ; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini"# B) _- X( \) E: r7 K5 H
- ;user_ini.filename = ".user.ini"
% O/ C3 n x T( t3 i' q - 0 w" I! w- `' k1 @0 q
- ; To disable this feature set this option to empty value* B! G D2 D+ A, Z
- ;user_ini.filename =
+ s& r0 k0 T0 \$ }3 S. c - 4 b' s( R4 | b
- ; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes)
! s- p4 X8 b) \3 W - ;user_ini.cache_ttl = 300
, [" D% M- ~1 [3 \ G; x
$ b6 \/ @- J1 g, o) [, X7 F9 J- ;;;;;;;;;;;;;;;;;;;;
! U* ~: c& Q" |8 ]# l* o - ; Language Options ;
- B1 q% V7 X" Z5 T6 Y! s; o - ;;;;;;;;;;;;;;;;;;;;
3 e& G! t6 W2 ]" s: k0 P) D- S
1 S' W" t; I: J- ]2 a- Z3 P' D- ; Enable the PHP scripting language engine under Apache.
9 J# t& r3 p. x! m6 K0 ~ - ; http://php.net/engine
, U$ Z- h3 L% R9 d/ |* \ - engine = On
$ I0 c8 C7 K! X: \3 l, w - , L: q- G, z. s1 K) Z# h0 ?
- ; This directive determines whether or not PHP will recognize code between/ D4 B9 e) ^+ D: p
- ; <? and ?> tags as PHP source which should be processed as such. It is
' c: U/ L# P9 o$ H: ]* I- q - ; generally recommended that <?php and ?> should be used and that this feature9 V, M6 [; F0 @: U& G
- ; should be disabled, as enabling it may result in issues when generating XML
+ y& b- T( a7 x7 B - ; documents, however this remains supported for backward compatibility reasons.
* }) b7 l. R6 p2 i# u# e; _0 t" M5 v3 K - ; Note that this directive does not control the <?= shorthand tag, which can be. w3 A) f5 R/ l3 E1 P0 u4 v
- ; used regardless of this directive.
& Q7 T& C" k) d& @1 P - ; Default Value: On
4 L3 B& ]8 C& |: Z n" j- @ - ; Development Value: Off1 Z+ y2 R! B# }
- ; Production Value: Off5 j0 m9 I! f2 x7 s0 @8 E' N4 G% b
- ; http://php.net/short-open-tag; J6 y* k& P& f5 N
- short_open_tag = On6 r" G, y" u2 A* l/ R' Y1 t7 T
- c. [& }% A. m6 R, N* j- ; The number of significant digits displayed in floating point numbers.
2 n$ p5 e) b) e - ; http://php.net/precision3 g Z: d* E; ?- W
- precision = 14. [# Q0 s6 P. `7 r
- 4 w/ {* t8 x/ w" l
- ; Output buffering is a mechanism for controlling how much output data: L/ ?0 O6 O! J8 m
- ; (excluding headers and cookies) PHP should keep internally before pushing that
0 R y: y# Q8 L: i# Q - ; data to the client. If your application's output exceeds this setting, PHP* H/ V1 _( O0 M6 e, j" ?* m- K
- ; will send that data in chunks of roughly the size you specify.
. v6 f2 I0 B! L, A$ a - ; Turning on this setting and managing its maximum buffer size can yield some5 z5 x; r7 t1 h2 J$ h7 W$ d. d" D
- ; interesting side-effects depending on your application and web server.: V6 f: M, J9 Y. \! X4 P
- ; You may be able to send headers and cookies after you've already sent output! z+ w* ]9 K. ^3 X* f
- ; through print or echo. You also may see performance benefits if your server is
, ?% v; v5 [3 W$ [ - ; emitting less packets due to buffered output versus PHP streaming the output6 \, Z8 q: S* w3 K7 g4 E9 l
- ; as it gets it. On production servers, 4096 bytes is a good setting for performance- s- _8 G! A9 B- B7 N# W: f+ S
- ; reasons.
( f" M& x# G6 a" U% R/ ?3 } - ; Note: Output buffering can also be controlled via Output Buffering Control M0 Q, `! W8 X# T8 W& p
- ; functions.
3 X! L6 a5 B" k7 c4 ^5 B - ; Possible Values:
4 _2 i- d4 x! F0 o9 | Q - ; On = Enabled and buffer is unlimited. (Use with caution): B$ s/ @8 D$ w7 K9 Q
- ; Off = Disabled
7 K# |2 X. Z6 f; L; Z8 w6 W - ; Integer = Enables the buffer and sets its maximum size in bytes.
7 U1 s8 g* d; C - ; Note: This directive is hardcoded to Off for the CLI SAPI
& u- _2 A+ ^' X - ; Default Value: Off' n1 D; d8 [" A" w% R8 \
- ; Development Value: 4096
; d V6 Y. {1 ~3 Q1 p - ; Production Value: 4096* j" F2 U* A. \( k) W
- ; http://php.net/output-buffering
% V0 V. U+ g, `9 ~ - output_buffering = 4096
; [( r5 {8 `4 U! y - & J$ b O) G- j. P
- ; You can redirect all of the output of your scripts to a function. For
' O% \% N; ?: M8 f9 |5 f, b; d - ; example, if you set output_handler to "mb_output_handler", character4 b9 z8 [8 p0 \4 C
- ; encoding will be transparently converted to the specified encoding.
! n" k: F- z/ A8 I - ; Setting any output handler automatically turns on output buffering.0 P* R l% s8 \8 G* Q
- ; Note: People who wrote portable scripts should not depend on this ini3 z+ u& x( I: Y, @) z
- ; directive. Instead, explicitly set the output handler using ob_start().% |- L; R$ h& H5 x: F
- ; Using this ini directive may cause problems unless you know what script
* \% E* O! W) k3 I, ^7 V/ D$ F# p9 I - ; is doing.
" C( w; R8 Y9 f& Q) ^, _$ ^& e - ; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler"
" _+ E5 o* Z4 h/ u" C. I - ; and you cannot use both "ob_gzhandler" and "zlib.output_compression".* v5 Z h/ a5 h$ k( {3 O
- ; Note: output_handler must be empty if this is set 'On' !!!!
- w; i' \8 x+ n$ O& I9 T - ; Instead you must use zlib.output_handler.
: d. E7 b7 o; S% Z% J- F8 o - ; http://php.net/output-handler# o9 _8 \% Q5 n/ {) L/ r7 r
- ;output_handler =
" C5 w& z# Y! ^7 b' S. b- J9 x6 A
3 r" B% i" l+ E% O+ K$ H& Y- ; Transparent output compression using the zlib library
$ K `: S; s4 X% O( S3 ] e - ; Valid values for this option are 'off', 'on', or a specific buffer size, c6 |% H. |4 a2 n3 G
- ; to be used for compression (default is 4KB)
1 y7 I0 r0 s. g5 N0 e% R& C - ; Note: Resulting chunk size may vary due to nature of compression. PHP( { @8 E% _7 O& l5 \ x+ {
- ; outputs chunks that are few hundreds bytes each as a result of/ x, W5 ~8 C" j0 I
- ; compression. If you prefer a larger chunk size for better+ |# c% |: x' m& z
- ; performance, enable output_buffering in addition.7 C) H) d1 y1 B+ m7 q5 u$ X
- ; Note: You need to use zlib.output_handler instead of the standard% d% ]$ Y3 i+ F {* ?4 w: U% w
- ; output_handler, or otherwise the output will be corrupted.
" n' {( }8 A, L Z( I2 a - ; http://php.net/zlib.output-compression
/ ], ]! a/ l* j3 J - zlib.output_compression = Off/ t0 q) a9 w. e! _
' H" n9 L( r/ A: M6 t- ; http://php.net/zlib.output-compression-level
, H' q+ H$ Y q9 [9 z - ;zlib.output_compression_level = -1
! }+ E# i' b# u - ; s5 ^ [1 w$ x- g6 m
- ; You cannot specify additional output handlers if zlib.output_compression
5 R4 i# _/ n/ }/ Q& N8 f8 U' h - ; is activated here. This setting does the same as output_handler but in. o% k/ n5 ?7 y! V7 y9 u1 X5 i# v6 w
- ; a different order.
9 o4 w* W" W- c3 o/ @8 A* U - ; http://php.net/zlib.output-handler6 q1 A& a( a; n
- ;zlib.output_handler =
& q% Y4 h6 q0 V2 e
+ i# q1 x* J# D6 X! _. y( m- ; Implicit flush tells PHP to tell the output layer to flush itself# G$ ^6 B& ]" s0 J( r; N3 `' P
- ; automatically after every output block. This is equivalent to calling the1 X) u7 v( W$ R( i. i6 ?
- ; PHP function flush() after each and every call to print() or echo() and each) `' K c: [# n, s
- ; and every HTML block. Turning this option on has serious performance% Q9 S C' ]. P8 T
- ; implications and is generally recommended for debugging purposes only.
. c2 v5 D C( X0 A - ; http://php.net/implicit-flush$ r w, J( w7 r2 h
- ; Note: This directive is hardcoded to On for the CLI SAPI
/ F( u6 U* n- k( C - implicit_flush = Off
/ O( z2 q, F M( z- ^; p: H6 c
0 ]5 P2 h+ v% e1 V- _9 n- ; The unserialize callback function will be called (with the undefined class'' s) {4 ^/ B; \6 J# Y% \
- ; name as parameter), if the unserializer finds an undefined class6 z4 H4 t z. r9 z- b6 i# h
- ; which should be instantiated. A warning appears if the specified function is
4 G, Q2 ~9 J" | - ; not defined, or if the function doesn't include/implement the missing class.( _7 e$ d2 c i7 K
- ; So only set this entry, if you really want to implement such a
: v, @4 S4 J) o' @ - ; callback-function.3 A$ i1 e( x& @; d$ R0 ~
- unserialize_callback_func =
; @8 [3 m( b1 _& B - ; c7 ]- u+ v3 _: ^; o# H0 W# P1 l
- ; When floats & doubles are serialized store serialize_precision significant
. o" m- @ p0 X: D - ; digits after the floating point. The default value ensures that when floats# x, Q1 m4 [9 }& K( M
- ; are decoded with unserialize, the data will remain the same., C) J: a/ T, m1 \$ |
- serialize_precision = 17( D" E, t( ^% r ~' K( J
0 h3 t# g" {1 O3 N- ; open_basedir, if set, limits all file operations to the defined directory
: C4 E% o+ \! a1 _; N; B: h6 n$ [; s1 j - ; and below. This directive makes most sense if used in a per-directory
1 _+ I9 Z/ m5 C - ; or per-virtualhost web server configuration file.
) T M; P1 D1 e/ w: Q% J - ; http://php.net/open-basedir
; ?, H: G; t, z+ z# r0 J - ;open_basedir =
# j* O; |# Y7 }/ Q" O* ~* B! p - 6 B4 @# h& W; X4 u
- ; This directive allows you to disable certain functions for security reasons.* T* ?/ [9 @! x. s0 r
- ; It receives a comma-delimited list of function names.
3 |! }* u, u& F1 d, d - ; http://php.net/disable-functions* @9 c8 v: s. ~+ Z4 x$ `
- disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,popen,proc_open,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru) b' }9 h5 b7 k7 U2 C
, e! c3 `) ?2 k) ^9 ?- ; This directive allows you to disable certain classes for security reasons.
% T) [$ \# C- u0 b7 P - ; It receives a comma-delimited list of class names., E5 f4 C: p6 R) z
- ; http://php.net/disable-classes
7 j6 U: K9 B2 ~" s* } - disable_classes =& g" x5 w2 y1 {5 W' S* o
% _, h9 C& b. R# u0 a# D- ; Colors for Syntax Highlighting mode. Anything that's acceptable in
+ g- F+ A$ p7 S8 e# @' u9 S, C - ; <span style="color: ???????"> would work.; J4 L. u, ^0 {9 ^, `5 X: I
- ; http://php.net/syntax-highlighting9 d" B9 e- e5 r' W3 G/ d# }+ S
- ;highlight.string = #DD0000
m6 T# S( A! W+ P! s+ Q - ;highlight.comment = #FF9900$ b/ u5 b' s' h
- ;highlight.keyword = #007700
7 o7 I5 O8 v- B+ v2 f8 X1 `: d - ;highlight.default = #0000BB! D- c8 q# T) D
- ;highlight.html = #000000" E( H# ]3 I P; t; o
. i' M$ z' B4 F- ; If enabled, the request will be allowed to complete even if the user aborts! _# i( v' L+ J( F! B: t4 \
- ; the request. Consider enabling it if executing long requests, which may end up
) T& g8 F& J* N% l/ z3 ]; ^ - ; being interrupted by the user or a browser timing out. PHP's default behavior
! U* U9 b# R; ?4 z% U! I8 y" { - ; is to disable this feature.& y# y; n9 Q# S! e7 V `
- ; http://php.net/ignore-user-abort/ I8 D3 S9 K. \- G% E6 ?
- ;ignore_user_abort = On
& K8 b& m) m, f( o0 Z# P$ w - 1 [. \0 U& m$ O0 ]8 ~
- ; Determines the size of the realpath cache to be used by PHP. This value should
5 A9 [7 ]0 D5 [3 { - ; be increased on systems where PHP opens many files to reflect the quantity of
V3 I& |$ Y U! }) C# f* {, R9 a& o6 u - ; the file operations performed.
3 ]( f: i0 y8 K% q- V& { - ; http://php.net/realpath-cache-size3 ] C3 S5 P% R/ V8 F7 B
- ;realpath_cache_size = 4096k3 d# G" `6 }# w. Y
0 n9 I: H2 n* e4 ]- ; Duration of time, in seconds for which to cache realpath information for a given7 }. p% @1 F9 r4 f* d
- ; file or directory. For systems with rarely changing files, consider increasing this5 Y6 M" F$ u% T4 r ~# k5 T
- ; value.# U, ^% N+ y: A) l: p7 q b9 s
- ; http://php.net/realpath-cache-ttl* x+ g, ~4 f0 i- w Q; U; n
- ;realpath_cache_ttl = 120
1 k9 X; ?; X$ g9 b! H. p1 U2 n - 4 o( R/ H$ K* V
- ; Enables or disables the circular reference collector.
m" E2 c6 i2 t8 ?! F - ; http://php.net/zend.enable-gc9 K. ]. j3 R# e
- zend.enable_gc = On3 X: Q3 K( d, a
5 w2 H+ z |* Z: g) {" Y- ; If enabled, scripts may be written in encodings that are incompatible with0 e5 o7 E" T$ {( t, g g4 L* X
- ; the scanner. CP936, Big5, CP949 and Shift_JIS are the examples of such. _! \, d" s+ h. R9 x* b
- ; encodings. To use this feature, mbstring extension must be enabled./ w4 H+ u$ N- C9 Q! ?
- ; Default: Off: ]9 F; t- r' `3 N; Q0 @& E
- ;zend.multibyte = Off
+ n$ F* _, Z; M
- U) \, ^* Q6 c7 X' t" @" e# B- ; Allows to set the default encoding for the scripts. This value will be used
& Y; Y5 J. @, \/ |! A9 [ - ; unless "declare(encoding=...)" directive appears at the top of the script.
; N; e3 T5 @3 l. O. j M! w0 b - ; Only affects if zend.multibyte is set.$ T3 d8 Y9 @% I) u% z5 u
- ; Default: ""
/ \1 ^+ k/ a8 F. r9 e M8 H - ;zend.script_encoding =/ `5 p+ U* f( P* ^: r0 a' ]% R
- 3 ~8 x) u; W: B
- ;;;;;;;;;;;;;;;;;
7 D9 ^( T9 {% _% x - ; Miscellaneous ;- R3 \0 E5 h2 o8 u6 }
- ;;;;;;;;;;;;;;;;;
7 g& f( K& b, u; t
0 b7 G0 ~) p' `5 A! H3 @" M- ; Decides whether PHP may expose the fact that it is installed on the server
# }/ T+ v/ U% L3 |3 f* D - ; (e.g. by adding its signature to the Web server header). It is no security; ~4 i- V* m5 R* `; k# Y; ^) T
- ; threat in any way, but it makes it possible to determine whether you use PHP" ?& x& I: U0 p! |8 X
- ; on your server or not.
+ x+ q* D/ R9 n7 T! r% \4 e - ; http://php.net/expose-php
$ |* C1 ?. x- _5 q - expose_php = On
! m Y N2 P/ f+ t' x7 m. i1 [ - " A6 o- L1 k' b [ ~# W. {3 b* o/ u! Y R
- ;;;;;;;;;;;;;;;;;;;# @! r0 {3 n5 v: Y. v
- ; Resource Limits ;) z+ f/ w9 K7 K% J( `! D' r
- ;;;;;;;;;;;;;;;;;;;% I8 U, v4 e" z4 @ Z Z
% u+ Q* P n) @% x8 T- ; Maximum execution time of each script, in seconds
7 Y9 ?6 `4 A# d4 o' m3 R8 y% S - ; http://php.net/max-execution-time
) z5 b f- H/ i) w3 W - ; Note: This directive is hardcoded to 0 for the CLI SAPI. s/ v- J+ r' Z5 h A
- max_execution_time = 300; |" V' p+ k) I* Y3 J
- 3 T% G' X* }; `/ z: t% n9 v* D
- ; Maximum amount of time each script may spend parsing request data. It's a good7 W9 s8 S# \4 q& V8 r
- ; idea to limit this time on productions servers in order to eliminate unexpectedly3 D* s" [( x" n( S
- ; long running scripts. o( }$ e# q) b8 W
- ; Note: This directive is hardcoded to -1 for the CLI SAPI) Y2 C3 T3 I" h/ g2 e- u$ E) _
- ; Default Value: -1 (Unlimited)
3 z) S9 L' X8 b$ O7 h; H - ; Development Value: 60 (60 seconds)( w8 J& B' F& ~
- ; Production Value: 60 (60 seconds)/ k/ j6 V5 Z, F J* U: [
- ; http://php.net/max-input-time
# e j V5 f" c4 z - max_input_time = 60
1 V; v6 g3 o* c8 a) D
* z2 b* S# n0 `/ ]8 r- ; Maximum input variable nesting level: @2 w# K" a$ W
- ; http://php.net/max-input-nesting-level
$ @" E2 q: A. y4 b# o - ;max_input_nesting_level = 64$ a Y- [( H* U! {! I
- - p+ S& [& I) o/ g- P+ u
- ; How many GET/POST/COOKIE input variables may be accepted0 ], t% ]+ y$ s8 w. X
- ; max_input_vars = 1000 t! M: k0 V! C) x' Q% V: N# t
" ~; ] A0 R5 ]* Q- L* P- ; Maximum amount of memory a script may consume (128MB)8 N9 X# W" i5 u8 x: D# C
- ; http://php.net/memory-limit# u2 o* r, |4 a
- memory_limit = 128M1 O0 V' i0 f0 ]% D( q, j
. w0 V4 q* }# F- E! r- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
( W7 t- v U/ h& Y7 A6 l) J. P - ; Error handling and logging ;
N! Y- |7 k; h, r - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
$ F. O9 o5 F+ w# Y" F - 5 v1 e1 C3 X( ~
- ; This directive informs PHP of which errors, warnings and notices you would like8 ^9 M$ d7 T" \
- ; it to take action for. The recommended way of setting values for this! H8 x$ A8 ~/ [# v9 u
- ; directive is through the use of the error level constants and bitwise
) h( i/ w4 ]8 X* Y5 l - ; operators. The error level constants are below here for convenience as well as
/ g7 X0 @! K( z0 C - ; some common settings and their meanings.# j" W9 n1 T ^ d" p
- ; By default, PHP is set to take action on all errors, notices and warnings EXCEPT
0 F! }4 F7 y5 [+ k - ; those related to E_NOTICE and E_STRICT, which together cover best practices and9 s, \6 x0 b/ v- ]- s4 k
- ; recommended coding standards in PHP. For performance reasons, this is the
$ e+ |3 y5 v% L; m( P0 o - ; recommend error reporting setting. Your production server shouldn't be wasting
[. {2 d( G8 ]! p+ L+ v - ; resources complaining about best practices and coding standards. That's what
5 k0 ?6 R p! I! c9 y5 {- H - ; development servers and development settings are for.
6 C3 P: _# X: M+ t - ; Note: The php.ini-development file has this setting as E_ALL. This
( x# G8 U4 r1 W - ; means it pretty much reports everything which is exactly what you want during
& L9 a3 |8 [) L: L8 c - ; development and early testing.& F) }2 F- m+ u8 f" a/ S. y
- ;. ^0 C+ M$ l# U z
- ; Error Level Constants:
* W6 D- G$ N& G0 Y - ; E_ALL - All errors and warnings (includes E_STRICT as of PHP 5.4.0)3 p6 z4 U3 H$ k, x+ h3 U& z2 j
- ; E_ERROR - fatal run-time errors
/ f1 u4 D2 s+ R! s - ; E_RECOVERABLE_ERROR - almost fatal run-time errors$ y- I1 u; e$ P8 [
- ; E_WARNING - run-time warnings (non-fatal errors)
7 o/ v6 v0 j. n, B. ]& r1 L - ; E_PARSE - compile-time parse errors
" j$ x- i$ O6 k& M0 H - ; E_NOTICE - run-time notices (these are warnings which often result
7 ~9 U# I" F& T: I \5 J+ o4 c - ; from a bug in your code, but it's possible that it was+ C; o, u7 a0 ?1 A3 g0 H
- ; intentional (e.g., using an uninitialized variable and' f4 n- F) S) k' b" W# k6 S' Y, q# @
- ; relying on the fact it is automatically initialized to an0 d5 i3 F9 T5 b
- ; empty string), e+ }( X7 B1 T% b" p
- ; E_STRICT - run-time notices, enable to have PHP suggest changes
0 ^' ^# {) T7 t. c3 i% n - ; to your code which will ensure the best interoperability
- J4 {8 d4 J0 X5 c - ; and forward compatibility of your code
3 x/ |( n% Z8 C. A4 j* s% h2 d - ; E_CORE_ERROR - fatal errors that occur during PHP's initial startup& T- V1 v, H8 K& Y
- ; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's
* A9 _6 d9 J q- V; B* \+ P9 h7 k - ; initial startup
) O0 q4 \. T' o5 u; K+ ^ - ; E_COMPILE_ERROR - fatal compile-time errors4 K# L2 N. v& u* `" W3 E
- ; E_COMPILE_WARNING - compile-time warnings (non-fatal errors)9 |9 Q' U- X$ ~ b! q7 t. @
- ; E_USER_ERROR - user-generated error message
6 U- Z7 }$ B9 } - ; E_USER_WARNING - user-generated warning message
0 j& P7 p3 O! n5 |, W" E - ; E_USER_NOTICE - user-generated notice message. K) h3 |4 W: f" M6 S: H/ d# z
- ; E_DEPRECATED - warn about code that will not work in future versions. Y% P) D; _5 z+ I* W$ S& n' U5 m3 w
- ; of PHP3 y2 z3 c; Y' A4 x1 h
- ; E_USER_DEPRECATED - user-generated deprecation warnings
- u, ^' ~% L- p( L - ;/ v! V; @, F9 V$ c6 L: m: D
- ; Common Values:
* Q) K, h" m4 h* n - ; E_ALL (Show all errors, warnings and notices including coding standards.)
1 e* m* k5 x5 B4 k6 y* S - ; E_ALL & ~E_NOTICE (Show all errors, except for notices)0 A b+ o2 `. f. l
- ; E_ALL & ~E_NOTICE & ~E_STRICT (Show all errors, except for notices and coding standards warnings.)
% D* G* U7 Q, z% T- T/ v. |8 [% E# U - ; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors)
6 z$ a: V' Z6 V" Q3 ] - ; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED1 \. z$ v: K# B' \5 @! A
- ; Development Value: E_ALL* K" F* y1 e" m
- ; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT, ~) W ^- R/ S$ W
- ; http://php.net/error-reporting
8 v8 I% `' I( n; R9 k$ V% b - error_reporting = E_ALL & ~E_NOTICE3 ]' J- a* U( k+ C# G: N) n/ t
- 8 ?8 q+ R* v% r( {% c. Z
- ; This directive controls whether or not and where PHP will output errors,4 |% L' e7 V8 S3 ?( L9 K
- ; notices and warnings too. Error output is very useful during development, but
; |8 A$ ~' _* T0 H9 A - ; it could be very dangerous in production environments. Depending on the code
8 D) Y* F4 J7 ]/ C+ P4 C7 v4 U - ; which is triggering the error, sensitive information could potentially leak
8 A% {! l8 ^* t# R. s8 |1 ` - ; out of your application such as database usernames and passwords or worse.1 d( W; L2 V1 D
- ; For production environments, we recommend logging errors rather than
5 X1 t* f. b6 w W G - ; sending them to STDOUT.3 \; _. `0 }+ X+ _4 d: e a' y
- ; Possible Values:: `" J5 f1 V$ g/ l! W7 e8 F) \3 a. O
- ; Off = Do not display any errors
; O* B( Y% Y: o% y0 e/ T( J - ; stderr = Display errors to STDERR (affects only CGI/CLI binaries!)
8 C3 W K% @! F, E8 } - ; On or stdout = Display errors to STDOUT* d* B5 K3 h$ Q6 z7 n
- ; Default Value: On
1 D) I. U* d1 g! S" d9 A) L - ; Development Value: On
5 i A# S, H0 ~ - ; Production Value: Off
6 a9 M+ a3 Q# N - ; http://php.net/display-errors1 W% Q2 s( H) V1 {: ~4 j
- display_errors = On$ U# P+ J( m# z& P P
* |: J4 d3 U' p- W- ; The display of errors which occur during PHP's startup sequence are handled
' y$ \! ?4 E$ e - ; separately from display_errors. PHP's default behavior is to suppress those
D) y+ F: M; x9 @; y) w - ; errors from clients. Turning the display of startup errors on can be useful in1 n: w: t. K. X
- ; debugging configuration problems. We strongly recommend you
" \. B( ?5 X, Q# ? G - ; set this to 'off' for production servers.! h2 u+ A+ V! j! q
- ; Default Value: Off
" e5 z# p6 G3 J$ j6 O3 \ - ; Development Value: On
4 m, l3 g6 t! J9 s" L& S8 V/ j - ; Production Value: Off+ R2 _4 V5 i3 e
- ; http://php.net/display-startup-errors7 j/ f& |6 k. |" S* \- \
- display_startup_errors = Off
6 o# q" R" A' _ - " g: K" m4 j/ {- q7 L% s4 ~- R3 e3 R
- ; Besides displaying errors, PHP can also log errors to locations such as a" h4 f1 r" C' |/ B
- ; server-specific log, STDERR, or a location specified by the error_log
/ V: E' z/ e7 p1 K1 L - ; directive found below. While errors should not be displayed on productions! W& X5 h! H# g
- ; servers they should still be monitored and logging is a great way to do that./ P- P( v4 C- |
- ; Default Value: Off# i9 N! f( T* E" a; I
- ; Development Value: On2 B+ d0 J) W8 Q3 |2 k" n
- ; Production Value: On
$ c7 \6 `+ h$ S' p X: s - ; http://php.net/log-errors4 C, r' t4 B2 Q
- log_errors = On) Y5 c& F" g/ G
- ; a `! ~( V& z7 E! u
- ; Set maximum length of log_errors. In error_log information about the source is" V6 A& ]/ Y8 J, ^% A
- ; added. The default is 1024 and 0 allows to not apply any maximum length at all.& p" R3 j0 e1 H
- ; http://php.net/log-errors-max-len" E1 r, a* E8 l
- log_errors_max_len = 1024( a' p* f/ b5 G% k
9 y. {! U B# m9 x- @- ; Do not log repeated messages. Repeated errors must occur in same file on same
; X8 n7 o, \+ F z* F* p, b - ; line unless ignore_repeated_source is set true.: r* ^) W/ V3 s% W: ]
- ; http://php.net/ignore-repeated-errors
% s4 v) L+ v/ f0 E6 m9 T: R8 P - ignore_repeated_errors = Off
) u2 _% I3 |/ v! e - 6 T0 F- q; g7 D( t" h* j" N
- ; Ignore source of message when ignoring repeated messages. When this setting3 e3 r8 a) P1 Y$ N0 w& ^
- ; is On you will not log errors with repeated messages from different files or
" P/ s: @# w" H" Y - ; source lines.& n3 t7 g {9 [$ u6 E3 C$ C: ~9 V
- ; http://php.net/ignore-repeated-source1 b$ \& p2 {, G6 [4 s: \' {
- ignore_repeated_source = Off# H# ^/ K* b: B& K" Z
- , p2 N6 K. R" W9 ?( O. N+ E" L
- ; If this parameter is set to Off, then memory leaks will not be shown (on) }! R1 x" y4 {: H& \
- ; stdout or in the log). This has only effect in a debug compile, and if
9 \2 ^. f2 m! W$ K! n5 _ - ; error reporting includes E_WARNING in the allowed list4 e& g" e+ v- r* k
- ; http://php.net/report-memleaks7 e' ^9 O! A0 O
- report_memleaks = On
4 W& p7 o. u9 s& V$ J1 a% \1 @ - - g. b( o V5 D7 r8 u3 P6 S5 g
- ; This setting is on by default.* F. V U/ e& {) H% i2 B/ t
- ;report_zend_debug = 06 o; U2 @0 I0 _5 ^* D
: x8 @9 d3 E& B7 Y; U- ; Store the last error/warning message in $php_errormsg (boolean). Setting this value
6 m1 ^, j, {) @( \- F - ; to On can assist in debugging and is appropriate for development servers. It should
6 I4 J. c. z& G# F2 _; v$ V. ~ - ; however be disabled on production servers.6 ^4 `; m5 P0 N2 }0 h' a% Q; x; w& ?
- ; Default Value: Off
6 t4 {0 e! O4 U - ; Development Value: On$ v0 z; V0 N, d
- ; Production Value: Off
) H. G% q J% k, N: \! W# u - ; http://php.net/track-errors' Z0 z% c! d* ^0 F, c
- track_errors = Off: j' r2 {8 @$ N6 N0 k! C
. X% Z& m5 e. s: t) r- ; Turn off normal error reporting and emit XML-RPC error XML
' E* k6 c+ {9 p6 ` - ; http://php.net/xmlrpc-errors b6 J4 Y$ K6 H% S0 m
- ;xmlrpc_errors = 0 D7 G- Q% ^3 m* W" @
+ L# `5 J* U8 o2 J- j- ; An XML-RPC faultCode; B3 u% F0 j! Y
- ;xmlrpc_error_number = 0
; _, V0 m+ ]# A% h4 D* S1 h! d
$ [! @8 \! `, `: F9 {. h& K- ; When PHP displays or logs an error, it has the capability of formatting the
7 V8 z4 ^: Q8 k$ e1 s. W6 N - ; error message as HTML for easier reading. This directive controls whether5 Q1 J% @5 ?* e
- ; the error message is formatted as HTML or not.) Y4 r7 ~* j; T# U
- ; Note: This directive is hardcoded to Off for the CLI SAPI1 z9 d6 o. l. T+ k; L
- ; Default Value: On4 f( k2 g3 Q, w% y9 t
- ; Development Value: On
: m, \' {1 f/ G0 v - ; Production value: On
, F: C$ F( w8 T: {7 H! p% ~8 q - ; http://php.net/html-errors( m& P. G- _7 o) g6 ^2 J# P2 d" U
- html_errors = On$ @) D O$ O0 @
- : m( }& }/ p1 q& @
- ; If html_errors is set to On *and* docref_root is not empty, then PHP9 e) u- {! L& s0 w3 U
- ; produces clickable error messages that direct to a page describing the error+ D6 V8 N, g' B1 p' ]1 ^" z
- ; or function causing the error in detail.5 s# \- p# ?( R# b
- ; You can download a copy of the PHP manual from http://php.net/docs
7 H4 N3 f; b2 I - ; and change docref_root to the base URL of your local copy including the( G9 x3 g7 J+ ^* A+ W8 ~
- ; leading '/'. You must also specify the file extension being used including& g5 v6 X! i9 i# R9 U- \
- ; the dot. PHP's default behavior is to leave these settings empty, in which
' g4 Z: |5 A, K, s0 a6 M - ; case no links to documentation are generated.2 Z" R3 g2 I! U* s d- z! x- S8 F
- ; Note: Never use this feature for production boxes.
6 R' {' M; w' G: H* b6 L - ; http://php.net/docref-root* U8 s0 m. f! V/ ?5 a; ?" Z6 o; k
- ; Examples
/ S: ]3 f' K4 } [9 {% z$ ` - ;docref_root = "/phpmanual/"
O$ M) j3 c1 _0 @0 z# b9 G M m - 9 t, \, f8 `, @! u& x' G9 ^# I/ K
- ; http://php.net/docref-ext8 _& b+ r: X( B6 V- z1 F
- ;docref_ext = .html% L! D& Z/ K5 I3 Z) D- j% [
/ X: P" l, R" } o8 [; }: Q4 L- ; String to output before an error message. PHP's default behavior is to leave
9 y% d! ~$ V$ v( n# t3 H - ; this setting blank.
3 ?6 v$ V# C9 [ - ; http://php.net/error-prepend-string- p# o4 ]: _) ]; m! Q7 N; x- i
- ; Example:5 V" G0 g P1 [$ u: N! H! b$ E
- ;error_prepend_string = "<span style='color: #ff0000'>"8 X/ B+ R2 r- p8 `
- y2 U: {" Z1 G) o4 ]- ; String to output after an error message. PHP's default behavior is to leave
. G; \& |1 ^4 {% V# h Z7 ?) g - ; this setting blank.
1 Y- w. |: I2 q' N) t' w - ; http://php.net/error-append-string
* `; Q! \2 e& y - ; Example:. F7 D+ G! ~/ G+ ~' @
- ;error_append_string = "</span>"7 Z2 g: U% Z, Q0 ^9 i
- 9 D' b9 B" H. G1 p: {2 y* s7 B
- ; Log errors to specified file. PHP's default behavior is to leave this value3 k" X3 h6 D* K7 T
- ; empty.
4 f4 A* |$ D$ x! U9 P7 g - ; http://php.net/error-log
1 B9 d9 X, [# p( K - ; Example:* P7 K" p8 e% f% x1 E
- ;error_log = php_errors.log+ }$ Z& {" |4 o1 h% z
- ; Log errors to syslog (Event Log on Windows).6 `4 b/ I0 g$ n4 f
- ;error_log = syslog
* I$ F8 W8 s' \$ B! N( q, @6 W* W - 8 D" ]: C% i/ F @: P
- ;windows.show_crt_warning2 ~" j: B% a3 C# e: M7 O
- ; Default value: 0$ y7 w! U$ H* x- `- r6 T. j- g2 ] b
- ; Development value: 0
* `, H! W. G- R0 N# l( B7 v8 r - ; Production value: 01 Z# m9 n0 v3 V4 m
+ P& I7 }7 N. q. l$ N0 ?" y7 d9 t* m- ;;;;;;;;;;;;;;;;;
5 |! m8 Y) M1 w& y - ; Data Handling ;; T7 D" L3 m6 H2 F) `! u
- ;;;;;;;;;;;;;;;;;, l2 c4 x9 |' r. h+ a8 }7 W* y
- , t- `( {" ]5 G- e2 f) R
- ; The separator used in PHP generated URLs to separate arguments.
- \' u7 k3 C$ L - ; PHP's default setting is "&".
2 j+ Z: }: Z3 v6 l9 W/ J. H3 E - ; http://php.net/arg-separator.output
* U& ]6 `& c; {% v+ Z1 p6 u: J! u - ; Example:
& k4 t! L( r+ |" T - ;arg_separator.output = "&"
! e+ T5 y+ z3 M* ?; A
/ y* z# _! i9 J8 s- ; List of separator(s) used by PHP to parse input URLs into variables." y7 ~5 d0 t3 F5 ]+ q: i. X$ K9 H# X
- ; PHP's default setting is "&".6 _, Y( E) Z5 B$ \5 V
- ; NOTE: Every character in this directive is considered as separator!
D$ Z0 R3 A. T8 { - ; http://php.net/arg-separator.input6 o3 L1 S0 Y/ O5 e/ t; K
- ; Example:
! L3 m4 V) g* `* N - ;arg_separator.input = ";&"+ }% o4 V$ R% K6 V( @
( q3 A% \7 J: z! U& N- ; This directive determines which super global arrays are registered when PHP
1 n. D% V# t/ a2 D4 V. |9 M - ; starts up. G,P,C,E & S are abbreviations for the following respective super% u @8 M- r( A7 y
- ; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty8 [ O( i r1 B# N* f: I% ?) {8 F
- ; paid for the registration of these arrays and because ENV is not as commonly9 c# p. g2 H+ \
- ; used as the others, ENV is not recommended on productions servers. You
) _) F6 M [1 _: C$ _: S7 _ - ; can still get access to the environment variables through getenv() should you& H: U: A# p/ o2 V9 S/ u- O& @
- ; need to.
3 i1 [2 ?3 w+ z! O$ i, ` - ; Default Value: "EGPCS": C' Z6 i; L. u* R% p% ?
- ; Development Value: "GPCS"
+ V! l3 U) G) z - ; Production Value: "GPCS";
B r# K( ], M. E7 \. T% R; c - ; http://php.net/variables-order
7 A) s1 M) Z8 u$ d" ` @ - variables_order = "GPCS"
5 A: H) g: b0 w/ j - ! I: r5 N% ~4 ^$ t( }- n+ K* e
- ; This directive determines which super global data (G,P & C) should be6 o, q1 i* c4 V- v. X; s
- ; registered into the super global array REQUEST. If so, it also determines `7 X V% @# L3 g; m* c ~
- ; the order in which that data is registered. The values for this directive9 i9 @6 e# K5 p/ l1 w4 S
- ; are specified in the same manner as the variables_order directive,
: d9 S3 a# Y- Z0 T5 j( w$ F" } - ; EXCEPT one. Leaving this value empty will cause PHP to use the value set$ j( o# {* X$ I: k5 }7 V0 Y
- ; in the variables_order directive. It does not mean it will leave the super4 }$ X: q% C0 N* {8 Y
- ; globals array REQUEST empty.* X& g. i' \6 o: o1 i' Y
- ; Default Value: None" k& P) Q0 Z( ^& c6 }) p- U) [5 T
- ; Development Value: "GP"
! V, G) g6 B: q) A5 Y - ; Production Value: "GP"/ @1 W* l% `( R6 J9 a& G
- ; http://php.net/request-order9 ^% S0 W7 F& s! U
- request_order = "GP"- z0 ]2 d' J0 m" y7 m
- , `% |% `) u- U( T$ r" @0 t
- ; This directive determines whether PHP registers $argv & $argc each time it4 Q* e- o9 w1 c
- ; runs. $argv contains an array of all the arguments passed to PHP when a script( ?7 ^3 H7 ~' V+ I7 x7 a D) P+ y: e
- ; is invoked. $argc contains an integer representing the number of arguments7 q/ _3 d* m- j# m' u8 X2 y
- ; that were passed when the script was invoked. These arrays are extremely+ ~" ^6 b0 u% `- u& p; @. v
- ; useful when running scripts from the command line. When this directive is
; d7 a# t$ x% b z7 I5 F9 ?3 z" Z1 I1 m - ; enabled, registering these variables consumes CPU cycles and memory each time, G9 |0 W! F) P6 N( A3 o
- ; a script is executed. For performance reasons, this feature should be disabled
7 B, L0 e1 x& J. p" m - ; on production servers.
1 Y1 X& M. L& c% S8 @ - ; Note: This directive is hardcoded to On for the CLI SAPI' ~! M p1 L; C4 S2 U- x9 b, Y; F
- ; Default Value: On
, O% h9 {0 Y4 y3 |- \! f5 k" \ - ; Development Value: Off$ C: }% t- ~0 h5 |
- ; Production Value: Off
7 e8 c& w4 P1 n8 ^; k3 W - ; http://php.net/register-argc-argv5 v* V# }6 { |
- register_argc_argv = Off6 N4 U) e2 J, S% b) l
2 X% S. f K- U: ~0 E2 x- ; When enabled, the ENV, REQUEST and SERVER variables are created when they're' D. b J& \: L' z. S7 f2 c
- ; first used (Just In Time) instead of when the script starts. If these
; b3 {4 N3 ^! }! ^% a0 ? - ; variables are not used within a script, having this directive on will result) x& ^' R- K: }9 j. x- Q
- ; in a performance gain. The PHP directive register_argc_argv must be disabled
2 |. J1 n, t# I - ; for this directive to have any affect.6 x2 p- L. D) t4 }# A2 M
- ; http://php.net/auto-globals-jit
' l, w' l! ~$ I5 N: Q+ S V - auto_globals_jit = On/ Q1 t, s9 U, q3 h# @% y* C
- U; T+ I+ Q: X8 z% j5 {- ; Whether PHP will read the POST data.( U" T( ?" M# C9 p/ B, n
- ; This option is enabled by default.+ R B A0 o+ H, h
- ; Most likely, you won't want to disable this option globally. It causes $_POST
& j# v4 @3 x3 I2 p" D - ; and $_FILES to always be empty; the only way you will be able to read the
' A1 V6 k# z; P7 D' K, y' y2 P - ; POST data will be through the php://input stream wrapper. This can be useful
+ R+ ]2 }4 n" r1 M- d' D - ; to proxy requests or to process the POST data in a memory efficient fashion.' q- R( ]% q1 f& {6 c; j' C: Z2 z8 J
- ; http://php.net/enable-post-data-reading
9 v5 b4 l0 }3 }. O - ;enable_post_data_reading = Off# x: H/ _0 H! K [( D
: a8 g1 \7 U9 @. m J( n2 {* Q1 n, \- ; Maximum size of POST data that PHP will accept.
/ i( d# N! D2 x7 F/ U: X1 a$ F9 h - ; Its value may be 0 to disable the limit. It is ignored if POST data reading
- C; m, a6 s7 B* r. u - ; is disabled through enable_post_data_reading.% S& {; v e! |# m1 e6 F
- ; http://php.net/post-max-size% u/ O6 A4 w9 \1 k( v
- post_max_size = 50M
4 F7 o' ?+ ?7 \/ {& ` - 5 r- a8 l5 r. D$ }
- ; Automatically add files before PHP document.; E& I: q; P& a+ A! n1 u
- ; http://php.net/auto-prepend-file
/ Q' p" P/ T" ^/ r0 T - auto_prepend_file =
( J$ z% Q [; U; \- E { - 7 W. o% S* }9 e# ?' ?* m( v
- ; Automatically add files after PHP document.1 W4 P- G X* Q) z. ^
- ; http://php.net/auto-append-file
5 Q" x. `: W0 t- I. `( v - auto_append_file =
0 I& H& y1 |. W
. m% H4 e) S9 {/ \- ; By default, PHP will output a media type using the Content-Type header. To
9 k6 r( O" k$ J - ; disable this, simply set it to be empty.
9 ?) m& Z; \5 K - ;4 w- i5 C1 ^, U; \! q c1 l+ S
- ; PHP's built-in default media type is set to text/html.8 R5 g5 M1 Y+ v
- ; http://php.net/default-mimetype8 `8 B( C8 [- Y$ O# | v p7 ?
- default_mimetype = "text/html"6 G: J1 k5 F3 H0 v" b' F
- & u: {7 e; M; _* @# I
- ; PHP's default character set is set to UTF-8.
1 x' l8 f+ o8 z/ g7 x: _ - ; http://php.net/default-charset
: C5 P; _$ @3 {8 |9 \ - default_charset = "UTF-8"
# x' C; x' _5 e! U
e Y' h5 H8 |7 N1 Y! c4 p$ q m0 E2 U- ; PHP internal character encoding is set to empty.% N% I& J3 y" y1 h5 w* L
- ; If empty, default_charset is used.5 g+ d* U+ }% ]6 T" G1 j$ r
- ; http://php.net/internal-encoding
! i3 R& l& e& S& n$ y, u3 u y& m - ;internal_encoding =1 ?( R+ B" D; l, j& Q& B
" q, ?. {8 V4 i3 {. j- ; PHP input character encoding is set to empty.4 B2 _; F; h- y9 r% E2 E- q
- ; If empty, default_charset is used.( b9 r% \/ s( n! E6 E- f2 G
- ; http://php.net/input-encoding+ t0 C3 c6 b. }1 z( v d: [
- ;input_encoding =
0 e A. t5 I; } Q* i4 [8 n
6 j; K( q+ W* D8 {6 s- ; PHP output character encoding is set to empty. E! u" ]) c* y" q3 o
- ; If empty, default_charset is used.
7 \8 q8 m% @2 ^. p% r7 w1 \ - ; See also output_buffer.5 ^5 N' H3 z4 c3 e! c" G
- ; http://php.net/output-encoding2 n! @" J0 n% G+ o$ Q6 E% D4 `
- ;output_encoding =* g5 `" r$ s' W/ M- H
* U) z4 ]) z6 g5 x Y- ;;;;;;;;;;;;;;;;;;;;;;;;;
5 R0 f3 y) U$ [5 C L6 Z - ; Paths and Directories ;
O+ h7 F% A' @* P - ;;;;;;;;;;;;;;;;;;;;;;;;;+ Y# B0 a7 ]! G% k; @. p
& n7 G$ f% W6 Z/ x0 s: c- ; UNIX: "/path1:/path2"
3 \" r7 M% N% F" X2 e! @ - ;include_path = ".:/php/includes"
/ }6 ~2 E* y7 ]/ S; V - ;5 E# Z0 A2 a0 E; G& B* G
- ; Windows: "\path1;\path2"
' Z! X' P, P# y$ @# w" ` - ;include_path = ".;c:\php\includes". x X" {$ T) d4 {# q2 V: z1 `5 [, A
- ;
- @$ h; S A8 U e7 j) M/ p - ; PHP's default setting for include_path is ".;/path/to/php/pear"
7 ]+ t# V/ a6 _6 K. M" h7 i8 Y3 p+ h7 j - ; http://php.net/include-path
1 T% z: r$ ^8 k" U: m
9 W# n6 a% A! N% a- ; The root of the PHP pages, used only if nonempty.
7 t/ v1 g* V7 Z3 @ - ; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root2 p; b6 l% o7 L4 F- ?" c& [
- ; if you are running php as a CGI under any web server (other than IIS)
3 ]$ {9 c: S/ \! I; ^$ v - ; see documentation for security issues. The alternate is to use the
+ a/ e$ N% n2 @' O* i - ; cgi.force_redirect configuration below
% F& H, q, k, B$ r, w - ; http://php.net/doc-root, W7 j7 ?# {4 ]; w
- doc_root =$ _. n- O6 N+ g0 ]7 W
' Q0 D' k0 `/ T+ r$ g- ; The directory under which PHP opens the script using /~username used only
8 W) y, ^) q0 m5 C: D' K - ; if nonempty.
' B5 s6 V. C( _$ ] - ; http://php.net/user-dir
' p) f& R. B+ A" Y. a - user_dir =* p ~( p0 X6 H6 S( g
- 0 s2 t& Y% Y% Z6 L
- ; Directory in which the loadable extensions (modules) reside.* M. U5 J/ W% C1 j% B8 {8 C0 E
- ; http://php.net/extension-dir1 b$ D5 W% G+ m+ S
- ; extension_dir = "./"3 V- X( N( w; J$ u9 j( o: V; e% Y
- ; On windows:
6 [( ]7 i8 T+ g, s& M/ H4 ~ - ; extension_dir = "ext"
# n* q# q! Q; I
- S7 R! K& ^" P1 X; g- ; Directory where the temporary files should be placed.
* g1 S8 c* I/ ~6 E$ Z5 G3 g# ^ - ; Defaults to the system default (see sys_get_temp_dir)
s. _. v- g& u L5 e j& F" m+ | - ; sys_temp_dir = "/tmp"4 F% n* o2 r6 f" _
- / G! o4 \. x" e+ |0 e9 q
- ; Whether or not to enable the dl() function. The dl() function does NOT work0 k; | i5 R/ l1 ]- C- Q
- ; properly in multithreaded servers, such as IIS or Zeus, and is automatically
- _# q+ }' Z" v2 e - ; disabled on them. S% d6 o- S9 Y
- ; http://php.net/enable-dl; s0 I& s& r/ v" q
- enable_dl = Off9 m7 A' [1 F7 \$ |
- 4 Q" \* ~4 M, }0 B7 D
- ; cgi.force_redirect is necessary to provide security running PHP as a CGI under
- N/ |: F, ~: D2 M. T& J - ; most web servers. Left undefined, PHP turns this on by default. You can
/ K( N B& |1 i3 L - ; turn it off here AT YOUR OWN RISK- v' \) |, d+ J( i2 X
- ; **You CAN safely turn this off for IIS, in fact, you MUST.**
A2 |7 B1 ^% k3 N' \. Z - ; http://php.net/cgi.force-redirect" Y6 P& E7 a/ k: d1 _! d6 B# _
- ;cgi.force_redirect = 1; a# p |, G) H4 G5 n* ^ x7 [! Q
1 ?& V& U6 @1 q- ; if cgi.nph is enabled it will force cgi to always sent Status: 200 with; b7 U* d$ ]% U
- ; every request. PHP's default behavior is to disable this feature.1 a7 i7 e# b( E% q
- ;cgi.nph = 14 V1 y5 {- B6 {; }
: A/ y+ w7 Q# y U- ; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape1 s! t! f4 h/ s5 N/ X5 u
- ; (iPlanet) web servers, you MAY need to set an environment variable name that PHP
( @6 S5 k2 g$ U4 d - ; will look for to know it is OK to continue execution. Setting this variable MAY
1 H* t A; I4 }' l, k3 |/ w( s6 w - ; cause security issues, KNOW WHAT YOU ARE DOING FIRST.
: ?8 O/ I, n; M2 \7 U7 r7 E - ; http://php.net/cgi.redirect-status-env& Y- T, X2 e6 a, S! F5 v
- ;cgi.redirect_status_env =, d e& J! G: ]/ Q
- ( Y( A; L6 p% e! i% F
- ; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's: T; J+ c, |. g0 k" D4 O
- ; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
" W8 y! q1 A# f+ c% l7 T; o - ; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting
0 n, K9 S$ N0 y) Q6 t- } - ; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting
U7 Y+ s" m! z' @/ p& d% K - ; of zero causes PHP to behave as before. Default is 1. You should fix your scripts) o" o4 W& j$ M; o- Z8 p1 @
- ; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
; v7 i9 V* P: d - ; http://php.net/cgi.fix-pathinfo
/ _+ C) w `4 k" x" f9 y8 i/ B - cgi.fix_pathinfo=1
5 `. i# I: S: r9 E. R
! v1 | c, t' H) m: E7 ^- ; if cgi.discard_path is enabled, the PHP CGI binary can safely be placed outside. M6 {% H+ H% x% f
- ; of the web tree and people will not be able to circumvent .htaccess security.; H& H; _$ g" O! `& H" ^# {
- ; http://php.net/cgi.dicard-path4 ^4 ?5 f/ F- h" c! j" b
- ;cgi.discard_path=1
G/ R! w! g0 I* J) S' z
& h( F( j7 ~& `1 A+ b* `5 P2 n- ; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate
) \% x$ t( n% _ Z- ^- ~+ ] - ; security tokens of the calling client. This allows IIS to define the
2 J& P$ j& D' |3 \5 E/ T4 I8 ` - ; security context that the request runs under. mod_fastcgi under Apache
. O. O+ q5 K+ o" z K - ; does not currently support this feature (03/17/2002)1 m: Q3 G! [7 J. e6 Q! e
- ; Set to 1 if running under IIS. Default is zero.
# v( o4 a1 q U - ; http://php.net/fastcgi.impersonate# _8 k6 t' p6 ~& i( S, D8 }
- ;fastcgi.impersonate = 17 U! V" v, B* N
- + u& @$ ]; G; b1 [3 b) K' D
- ; Disable logging through FastCGI connection. PHP's default behavior is to enable
+ Q5 _) R5 z" @/ k - ; this feature. z- W L) _: u' C1 @3 k! P
- ;fastcgi.logging = 0
* x0 B; C9 [$ k0 I$ v# ] - & S0 D( ]" s8 W" C4 I
- ; cgi.rfc2616_headers configuration option tells PHP what type of headers to
. M$ Z# M4 v5 | - ; use when sending HTTP response code. If set to 0, PHP sends Status: header that/ C2 D- _1 @- Q) V
- ; is supported by Apache. When this option is set to 1, PHP will send7 ^" P+ K, j1 X1 |; Z1 `; P6 {. u+ e
- ; RFC2616 compliant header.
% E A6 L$ q1 {9 i- [ - ; Default is zero.: p! ^8 m7 T7 u
- ; http://php.net/cgi.rfc2616-headers2 t7 q+ Z, N* k" F1 z/ i$ i2 L2 m3 D
- ;cgi.rfc2616_headers = 0
2 V7 s3 R" l& [
: o+ a/ ~9 h2 x2 o- ; cgi.check_shebang_line controls whether CGI PHP checks for line starting with #!
) P2 g0 _7 p. |/ D" r7 H6 g }; b - ; (shebang) at the top of the running script. This line might be needed if the
7 Y( c3 v2 Z3 p8 \: ] - ; script support running both as stand-alone script and via PHP CGI<. PHP in CGI6 H3 [$ T2 L2 y8 g
- ; mode skips this line and ignores its content if this directive is turned on.
% E8 t0 |# g8 v8 L1 f - ; http://php.net/cgi.check-shebang-line- D# Z+ ` d: i- Y! b
- ;cgi.check_shebang_line=1
% a0 C4 \1 g& f8 F2 b& C- z
8 M$ S" a% K/ }( g& d( A- ;;;;;;;;;;;;;;;;" m0 f0 F- M% o( i- i6 {1 c
- ; File Uploads ;
8 ?4 w1 z0 E2 N - ;;;;;;;;;;;;;;;;
* _; N" ^' m1 q( z8 D% x! D
' ?& }3 h* x, V. w$ ~! H- ; Whether to allow HTTP file uploads.& l7 p+ Z% z+ W# a! _0 c
- ; http://php.net/file-uploads
2 b: l4 H% q9 `. s - file_uploads = On( b4 `3 w: z6 m1 e! O# K
* u O: B1 U# _- ; Temporary directory for HTTP uploaded files (will use system default if not
! e. D' `, {, y: W# s - ; specified).
# n1 |1 h2 Z/ o; W7 J9 Z8 r - ; http://php.net/upload-tmp-dir# E4 g! w/ z* C
- ;upload_tmp_dir =5 \$ C1 D6 Q$ f' I8 ]% i" ^
- & }: g% G: V# n* l! b/ _) d: c f
- ; Maximum allowed size for uploaded files.
1 B& A: V3 T; O - ; http://php.net/upload-max-filesize
% q1 M4 F1 ]* R9 F - upload_max_filesize = 50M) b1 k @/ D3 W# h1 k2 v# f: j4 K
- R/ a/ N: a! Y) s t0 j" _- ; Maximum number of files that can be uploaded via a single request7 I: s9 h6 W/ X+ h: ~, Z6 Z
- max_file_uploads = 20' a3 b- F2 Y+ Z/ }" M
- 0 W- m5 _& q9 |
- ;;;;;;;;;;;;;;;;;;# x) p% l- y _ c0 L/ s
- ; Fopen wrappers ;
7 C- F( X6 k Z" I - ;;;;;;;;;;;;;;;;;;" E6 F+ o9 k3 ^6 C: b" r* c
- 6 X0 C9 q$ g4 p3 j
- ; Whether to allow the treatment of URLs (like http:// or ftp://) as files.$ h1 Q" t$ v5 ?: T
- ; http://php.net/allow-url-fopen F* E; W5 Z5 S3 h1 J& z
- allow_url_fopen = On
, K4 j3 s7 ^0 h) \: t% G
: X7 f* e2 N, K- ; Whether to allow include/require to open URLs (like http:// or ftp://) as files.# g0 b5 a: t+ c
- ; http://php.net/allow-url-include( H6 A) A) a' e
- allow_url_include = Off* g6 g' }0 @5 B& f/ L. y
* Z9 i* n/ Y0 i- ; Define the anonymous ftp password (your email address). PHP's default setting
. G) I$ j( R8 [ - ; for this is empty. F |3 @; m8 C3 }
- ; http://php.net/from
/ u+ U, n& u* O9 N1 |7 V - ;from="john@doe.com"
; l3 |# F6 X" v* Q! j - $ `8 p) U4 J7 Y' ?, P
- ; Define the User-Agent string. PHP's default setting for this is empty." `' ^" ]) \. P" r
- ; http://php.net/user-agent
. j3 J- C( l1 R* } - ;user_agent="PHP"6 E5 ?/ b: z H7 a
: |+ A U }& Y' Z- ; Default timeout for socket based streams (seconds)& A' q8 l1 m, {
- ; http://php.net/default-socket-timeout6 ]* y1 [& f4 W2 z/ c+ e
- default_socket_timeout = 60* M& Y8 E' a) S% Q: Y& o+ o
- ) @. Y" G: l6 {6 A1 x3 ^
- ; If your scripts have to deal with files from Macintosh systems,
9 P: ^2 @' I! s; e3 R - ; or you are running on a Mac and need to deal with files from
+ ^! w5 c0 |. @# N9 y - ; unix or win32 systems, setting this flag will cause PHP to
$ w# B3 W; Y; ^ - ; automatically detect the EOL character in those files so that" E+ ~$ O, }; F+ \) s- D) b {
- ; fgets() and file() will work regardless of the source of the file.
) }/ F1 Z9 S1 F* f) f. ^# m - ; http://php.net/auto-detect-line-endings) L) ?% M" r( P
- ;auto_detect_line_endings = Off
* f( s0 ]+ u. J( ?
$ F2 n4 i) }+ q6 z0 _3 l4 a8 G' U- ;;;;;;;;;;;;;;;;;;;;;;* }, g1 Z! S A) h/ `
- ; Dynamic Extensions ;
. Q/ \( x1 q: P - ;;;;;;;;;;;;;;;;;;;;;;
9 j Q2 u) A& o9 w6 J
{2 \5 T& t0 \; e- ; If you wish to have an extension loaded automatically, use the following6 {4 C; u& p, D/ j
- ; syntax:
+ e2 }; ?) {3 k+ M - ;/ Y% Y) L s% B( A6 N6 b* L9 }
- ; extension=modulename.extension
3 V6 d/ S) q+ o! a/ V/ L - ;
; D9 o2 z$ k0 y# n6 s" r8 a - ; For example, on Windows:4 K$ R8 J3 z2 O1 u e
- ;
6 y+ g, R0 c9 `; L - ; extension=msql.dll
% m7 ^% L8 w6 }; b( w0 K2 d! a4 \8 C - ;- Y9 ~5 }6 T3 Y0 [. D
- ; ... or under UNIX:6 w2 m( v) F5 _* I( K5 M
- ;& d" m4 ^0 W* X% O! b( A! _0 a f
- ; extension=msql.so
2 y$ R+ F, O# _/ [ - ;
. _# @$ {/ m, k9 \/ T7 k - ; ... or with a path:% E! R- ?" ]2 O* g- Q: w
- ;" x& \& x1 M8 _: K
- ; extension=/path/to/extension/msql.so
2 D( b8 o3 A/ s! v' X - ;
5 k: S$ ^6 |/ x6 j e' { - ; If you only provide the name of the extension, PHP will look for it in its& f7 h5 }" s& j0 k# r0 r( ^2 h' L) D
- ; default extension directory.
* `; I3 ~8 [4 ^. j* u9 E# @ - ;
6 \5 h3 d- z. W$ `1 Y0 x1 g - ; Windows Extensions( @* d* Y/ r9 n# d
- ; Note that ODBC support is built in, so no dll is needed for it.
+ B. C% J& h8 |1 ?, ?2 Q - ; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5+)3 S9 x8 S2 r" _: ?1 c
- ; extension folders as well as the separate PECL DLL download (PHP 5+).
4 T/ L! t+ ]* \ W - ; Be sure to appropriately set the extension_dir directive.
1 b3 q( k ^- E! s# }3 N - ;
8 s# s: |' D$ G - ;extension=php_bz2.dll4 [! T( b# M5 k6 Y1 d. A
- ;extension=php_curl.dll0 S" c! b8 n U
- ;extension=php_fileinfo.dll
' Q( b, n( J) ?! G8 ^* n3 B - ;extension=php_ftp.dll
- O2 F) ^- T+ S - ;extension=php_gd2.dll
+ r' ]0 D' O1 {2 I$ U - ;extension=php_gettext.dll
. u0 D8 }7 d+ o7 X - ;extension=php_gmp.dll9 g" O/ |* G, Q' |9 e
- ;extension=php_intl.dll+ m, X+ h( k E; H; I/ t" X
- ;extension=php_imap.dll
. ^ N3 Q) v" C! h7 A, ^ - ;extension=php_interbase.dll; J. C- t, B* s. w/ C, \
- ;extension=php_ldap.dll
( U1 }+ U, N* B! r" \6 S* B9 J# W - ;extension=php_mbstring.dll7 H; U0 S0 C1 I4 W
- ;extension=php_exif.dll ; Must be after mbstring as it depends on it( M: M4 Q* m3 q
- ;extension=php_mysqli.dll
1 U7 G6 u" @1 }+ {3 a- `$ d - ;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client
9 s" _; s6 U8 p; R- }5 _/ [2 | - ;extension=php_openssl.dll
- t" Q3 P5 L% M# H! [3 J - ;extension=php_pdo_firebird.dll3 q! ~8 f: J/ h; N
- ;extension=php_pdo_mysql.dll E2 O8 {2 H, g6 ~ X8 v
- ;extension=php_pdo_oci.dll
6 Q, { V- r& B7 n - ;extension=php_pdo_odbc.dll
( n* G) ?" e3 {6 w; D1 I K4 q1 q% W; e - ;extension=php_pdo_pgsql.dll
2 Z, K8 N7 Q# T; N - ;extension=php_pdo_sqlite.dll
; ~/ b# @# P9 _, T7 G0 t- @8 f) r - ;extension=php_pgsql.dll* [7 h: _) ]% ^, i
- ;extension=php_shmop.dll5 h/ T6 Z8 v! C( u' K" w9 {0 {
- 0 d. R$ P; S" H. J( v0 f
- ; The MIBS data available in the PHP distribution must be installed.8 a2 T; D2 o/ C( E! Z; z0 H% c
- ; See http://www.php.net/manual/en/snmp.installation.php; ~5 v' n$ P, r o; \
- ;extension=php_snmp.dll) A/ N, A6 h! ^* t0 ~6 q2 B7 a
- $ t6 B$ X/ }! G! V
- ;extension=php_soap.dll
$ y( w0 v! ?9 s& F9 ]% q - ;extension=php_sockets.dll" Y5 G7 V7 l2 l+ v2 j% s: y
- ;extension=php_sqlite3.dll# h6 J; k- }3 [, R; _
- ;extension=php_tidy.dll1 P' V S8 ?8 K+ H4 O7 ]8 [: ~' n
- ;extension=php_xmlrpc.dll5 x h, Y4 T& T
- ;extension=php_xsl.dll* T7 F$ |2 t* Q1 w& n/ s! T
6 h4 }' v. f( e" S+ s# O0 m8 n5 \) |- ;;;;;;;;;;;;;;;;;;;9 ?; C& e& H8 H, z5 j
- ; Module Settings ;( V. \: b; u* c. ]" z) U& n7 Q
- ;;;;;;;;;;;;;;;;;;;
& M- y' q6 l* @& T; ] - % |$ c3 L* j' ~; a1 M5 h
- [CLI Server]# Q/ x. d+ W, G9 m1 H$ N2 s# F p
- ; Whether the CLI web server uses ANSI color coding in its terminal output.# W! n+ T6 w1 P! ?- s
- cli_server.color = On2 a' y# x4 B' h. y( {& l4 U
! K: q0 J& {1 B ?# A7 g- [Date]) C5 `# M! A- k& J! ]
- ; Defines the default timezone used by the date functions2 W# F/ r' q" }
- ; http://php.net/date.timezone
0 i: z' e( R- d - date.timezone = PRC7 y/ j1 f) g( _" U
3 @9 F; D$ J/ z2 M! W0 e7 r- ; http://php.net/date.default-latitude% h. T* O& d4 i0 r1 o; V
- ;date.default_latitude = 31.7667
* E) R) \+ Z4 D+ y5 o% I# H a( ] - 0 N/ [1 X2 q. y2 K% |8 ~
- ; http://php.net/date.default-longitude
4 U, v( r, O( E - ;date.default_longitude = 35.2333
6 R: a1 G9 X" O - 5 c1 ~9 Y6 {' c0 @; V5 c( q- `4 o# z
- ; http://php.net/date.sunrise-zenith" G& D) H- \8 Q0 q* N, y* N q
- ;date.sunrise_zenith = 90.583333
/ C' R0 M: {7 u5 a% ?/ u7 C - 4 p ?& X- A" I ^6 }4 c1 k7 P
- ; http://php.net/date.sunset-zenith- b0 f, b$ U1 u3 H+ c( m
- ;date.sunset_zenith = 90.583333. t3 T) J+ _2 m h% v
- R {2 {9 R a& v8 J2 j+ y7 C3 a6 c
- [filter]3 q) G! k( S+ s( n
- ; http://php.net/filter.default0 g% i, Q0 X- d9 d/ n% I5 z
- ;filter.default = unsafe_raw/ u3 l8 |& @; _
/ \) v8 A8 R, n: E8 k) f! ^- ; http://php.net/filter.default-flags
) L7 }- b. ? |9 s) ~. s' v - ;filter.default_flags =) J# S- v6 o$ j: l1 y: n
6 p* Q/ k9 V4 R1 B! m7 N- [iconv]9 N3 D( f0 q: L8 W
- ; Use of this INI entry is deprecated, use global input_encoding instead.
2 p/ y5 O0 `! _: d* C0 f - ; If empty, default_charset or input_encoding or iconv.input_encoding is used.: L- @9 n+ T) X& i! \+ _+ o2 |
- ; The precedence is: default_charset < intput_encoding < iconv.input_encoding. O: v2 I1 f K& L$ y5 z+ ]0 z1 ?
- ;iconv.input_encoding =# [; R9 ^3 o6 s+ x
- - T' n) e! ~: [: z
- ; Use of this INI entry is deprecated, use global internal_encoding instead.1 U t$ n1 E; s& G
- ; If empty, default_charset or internal_encoding or iconv.internal_encoding is used.
8 Q& a& `- B! F. U* c - ; The precedence is: default_charset < internal_encoding < iconv.internal_encoding1 O0 @9 r, k$ X7 a* ]$ `3 q
- ;iconv.internal_encoding =* ~8 E/ ^: U! ?
# B7 [. N9 K* V- ; Use of this INI entry is deprecated, use global output_encoding instead.' w4 b0 W7 ?; p+ }% v) t
- ; If empty, default_charset or output_encoding or iconv.output_encoding is used.
+ y- {8 e0 I, Q5 T$ {& @ - ; The precedence is: default_charset < output_encoding < iconv.output_encoding( J' @8 m% g, v, @. S
- ; To use an output encoding conversion, iconv's output handler must be set
" U7 B" Z. B U* w# y - ; otherwise output encoding conversion cannot be performed.0 }' i2 `1 \5 Z+ b
- ;iconv.output_encoding =
9 g" e4 K6 x6 G% q - ! \# t+ u4 g. m3 }$ G
- [intl]$ r* X2 g: e: L% u$ G
- ;intl.default_locale =. O2 h8 L2 M7 x4 ~
- ; This directive allows you to produce PHP errors when some error2 T: J# @8 H/ W. I( S# @1 `
- ; happens within intl functions. The value is the level of the error produced.0 z" h, P$ L$ r$ ^$ S4 d& J
- ; Default is 0, which does not produce any errors.- w+ W5 K4 e# V1 D8 _7 o
- ;intl.error_level = E_WARNING
4 [. V1 f, T: i! }, Z3 m" y* E$ z - ;intl.use_exceptions = 0; d5 @3 c# o! A: ?
0 P& U' e8 v3 D. \, M9 z+ Z5 c- [sqlite3]
# s4 t# `* }5 K - ;sqlite3.extension_dir =
, i1 A& v. I( }7 m) z; T
~3 h/ n0 b$ |5 e, X) u& \$ F- [Pcre]
# m9 N z1 j0 X2 B/ W. B2 I - ;PCRE library backtracking limit.( _9 ^' S7 w3 o' V* T2 P; _8 p
- ; http://php.net/pcre.backtrack-limit3 |, V" F2 x. J+ A! I1 T
- ;pcre.backtrack_limit=100000
' ^' o9 k; Y* Q
! i# J4 o" p6 @' r- ;PCRE library recursion limit./ a6 m f) r) ~( \# b% l
- ;Please note that if you set this value to a high number you may consume all
5 {' q; `; ~; n9 ]9 h5 ]% S - ;the available process stack and eventually crash PHP (due to reaching the
- I5 m' z# j* ^ - ;stack size limit imposed by the Operating System).1 L; E8 R( ^2 l1 Y# M) N
- ; http://php.net/pcre.recursion-limit8 F: w6 b E+ J+ _# G
- ;pcre.recursion_limit=100000% H* R9 ^1 Z# _
- & _$ z0 `: @' Q4 J# `2 w1 U' S q
- ;Enables or disables JIT compilation of patterns. This requires the PCRE
" G6 ?/ N h+ d6 a* ]( e - ;library to be compiled with JIT support.
- \. E. W; h9 s5 v; A- \$ W1 Y0 i2 F) Y$ \ - ;pcre.jit=1
. @/ W0 J5 u& g A7 q - 9 k4 W# x5 p% m0 q: Q
- [Pdo]
# |" j8 J: K/ B - ; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off"+ y6 h# g# V. T- ?* `
- ; http://php.net/pdo-odbc.connection-pooling# X# [" }1 R: }
- ;pdo_odbc.connection_pooling=strict
, v; L( C& }) p" E. Z
. b- ^) I+ q- \) U# W: V! `- ;pdo_odbc.db2_instance_name
9 n$ q+ @: q! p x) k, U
. O+ Q" F0 w5 ?+ [1 ~, j- [Pdo_mysql]
+ p7 V$ ~6 \+ G* d- A0 b8 t - ; If mysqlnd is used: Number of cache slots for the internal result set cache6 M( |& Q& q7 {
- ; http://php.net/pdo_mysql.cache_size, Q& X G; B5 t7 v f8 p
- pdo_mysql.cache_size = 2000
/ x$ \; R/ \7 v$ c, b$ F" C - * k' h, t2 Z+ ?& p) ~
- ; Default socket name for local MySQL connects. If empty, uses the built-in/ f1 R3 `8 u, \
- ; MySQL defaults.( D9 t. I/ c, ?
- ; http://php.net/pdo_mysql.default-socket
( o0 X N* O F9 y* l* I6 ~ - pdo_mysql.default_socket=
! [6 }8 a. n3 H
. {9 H3 @( m( V) q$ l8 ~! V- [Phar]
1 n! L! `1 g. d% v7 r' ]7 U0 i* x - ; http://php.net/phar.readonly
4 s" b3 Q' }5 v - ;phar.readonly = On+ s7 q3 S" [; C u4 o! x- Z2 l
; ~2 K. X: q2 C @5 _" J- ; http://php.net/phar.require-hash* A! R( m3 O# l* s$ U( b% i) d5 `
- ;phar.require_hash = On) l' c9 [. S5 Z2 {& Q
* @3 }9 I) w2 D; e; m5 `- ;phar.cache_list =2 B+ g4 S) |: y/ n% d! T3 m
' L0 ~- Z: F8 b# u" B- [mail function]7 H/ L# q. S# J) q& @$ h
- ; For Win32 only.
: {) L& o& R- O8 D/ y6 }% w* i. W - ; http://php.net/smtp
$ m* x) ]! D# \' { - SMTP = localhost; m& V% {/ [$ F0 n) T, Y
- ; http://php.net/smtp-port! ?5 ]1 F* ?' k7 ?. O" h; i! L
- smtp_port = 25
! p* W' }4 u0 ~3 v( g# D' f - * q3 c: R3 ~1 r
- ; For Win32 only.
' ], r7 P T; G) Q3 t: v3 P - ; http://php.net/sendmail-from
! E6 |2 Y: Q1 ]5 v9 o, @ - ;sendmail_from = me@example.com
6 {! T5 w+ b. [2 N - " x0 J0 g6 V U: e: ^
- ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
2 p. p3 L: M, J9 m - ; http://php.net/sendmail-path% \: m0 `/ E8 Y, q& v u ?
- sendmail_path = /usr/sbin/sendmail -t -i* I9 J: [1 N! u; [7 t: B0 Z) n ?- m
- 5 K' M- i0 \% w, X$ `9 ]
- ; Force the addition of the specified parameters to be passed as extra parameters% J& _4 T# k4 T$ }8 W" P9 {6 p
- ; to the sendmail binary. These parameters will always replace the value of
. a. W% g" {- G' n* {& }, D7 g - ; the 5th parameter to mail().' j+ L3 X D$ ] n% E0 Q9 z
- ;mail.force_extra_parameters =
7 s8 H" }% ^4 b - p* ^: V; I3 ?
- ; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
/ K& E1 b4 h- `+ O' z - mail.add_x_header = On
7 h; G( |# _) W; k0 Z - 7 W6 E0 D6 ]& c3 x+ T
- ; The path to a log file that will log all mail() calls. Log entries include! v0 x: h0 Q, A9 Q. p5 F
- ; the full path of the script, line number, To address and headers.9 p2 O" V( D7 P+ T8 P( h
- ;mail.log =
2 L) f- s' K9 i4 b2 n* D1 D - ; Log mail to syslog (Event Log on Windows).
4 p2 ^/ g* L6 \* M; n% s/ r - ;mail.log = syslog+ P ^' ?2 J1 n) u- M0 k9 z* A/ M
- 6 ]2 o1 z" R9 E
- [SQL], `7 D; H; B# v2 t9 w1 Z" w
- ; http://php.net/sql.safe-mode+ V1 L2 B! p8 D0 i* i8 e0 `7 J+ N
- sql.safe_mode = Off
+ ~: n+ p, |' K6 T5 v& N - + x" R/ M/ h3 u' [# x
- [ODBC]
* z% _2 }2 h8 B - ; http://php.net/odbc.default-db+ y3 ~ z: n9 g* }7 U. n G5 s
- ;odbc.default_db = Not yet implemented$ H6 _" u0 e% v2 F
- 0 r, I6 E1 U0 x" k
- ; http://php.net/odbc.default-user
8 a8 s+ B; c2 f; ^, \ - ;odbc.default_user = Not yet implemented4 B" l9 u0 p: H% I; t
- 7 |' j8 q, f" I! {
- ; http://php.net/odbc.default-pw
O$ m1 Y1 ~- t" K% A# p - ;odbc.default_pw = Not yet implemented+ e, }' ]7 J3 `5 J
% f( `4 U# z+ Y3 y8 Z& G- ; Controls the ODBC cursor model.# Y0 [6 R8 A' y" ~3 q$ u( h1 d* E
- ; Default: SQL_CURSOR_STATIC (default).
, Y: q4 Y T, P- H8 G/ i - ;odbc.default_cursortype
/ h7 _ I5 G I. S2 j p1 ^ - ( m# M" A* g" x& T
- ; Allow or prevent persistent links.
& L+ ^# C& {0 @# ]! F - ; http://php.net/odbc.allow-persistent
}) n( L& f3 H$ m6 L - odbc.allow_persistent = On: J3 c) H* ~5 P$ g$ ~
1 X; h( R! `1 b: W' D- ; Check that a connection is still valid before reuse.
+ S# f5 \( `" p' q3 H/ h - ; http://php.net/odbc.check-persistent
: [0 W! Y! ~% P' w - odbc.check_persistent = On. B" q9 O8 x) g4 r0 v' p) X7 ]& j& s
8 W/ W; S4 M% A. ?4 E. i% F) ?- ; Maximum number of persistent links. -1 means no limit.
7 G2 T! d* U$ [, j - ; http://php.net/odbc.max-persistent+ r. U0 Z8 t( k9 [
- odbc.max_persistent = -1 c+ d) a8 t- N' Z9 H1 v/ [
+ _$ O$ k. y1 P7 ^) ]* V- ; Maximum number of links (persistent + non-persistent). -1 means no limit.3 M* a* ~. @* B0 e' g
- ; http://php.net/odbc.max-links
5 T$ u) G2 D8 z. E9 i$ } - odbc.max_links = -1* R" l3 {* e5 f3 k# {8 _& k
: x/ s; F' l0 Q. F4 C/ G% f/ r- ; Handling of LONG fields. Returns number of bytes to variables. 0 means
$ R; y( t! U# n( f; E5 [: }- \ - ; passthru.4 }% p# \) ]+ b
- ; http://php.net/odbc.defaultlrl
/ h- E) G) k$ u4 m& n; i' m - odbc.defaultlrl = 40967 u% ~6 z1 k. H6 V3 K' |( _* p+ h
2 e n! @/ p8 Q) G: P4 i- ; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char.& z* s; q0 |: a: [9 K; c5 v
- ; See the documentation on odbc_binmode and odbc_longreadlen for an explanation; o( m1 Y* m+ h
- ; of odbc.defaultlrl and odbc.defaultbinmode
1 c8 C, r3 A$ p* x3 H! R6 @8 i. C' q - ; http://php.net/odbc.defaultbinmode, P0 @: M2 l! |2 L; W3 |9 P( O
- odbc.defaultbinmode = 1
+ `. ?1 u6 u/ ?! Q, d6 B
* b% r7 I! d8 u; F- ;birdstep.max_links = -10 T) r6 l/ }: s+ L
6 N# J U6 z5 J& W w7 G* W- [Interbase]
. f# n+ X A0 `0 k: b/ P- L" s - ; Allow or prevent persistent links.! Q5 R; w+ | Y* o: }# Z9 n ?
- ibase.allow_persistent = 15 a. S- p+ I+ K. g0 ~$ O
% O) W0 i* Q, p- w" g. B5 b- ; Maximum number of persistent links. -1 means no limit.
' g a% {0 p4 @, f1 e- E. T - ibase.max_persistent = -1
* H: t% z& [* e' _
! l9 f! |# ^7 W# g1 b, M- ; Maximum number of links (persistent + non-persistent). -1 means no limit.: W# U# y* F4 s7 Y1 W' B& R
- ibase.max_links = -1
: B% d1 w8 C2 L) q6 u
$ c, g! B: G+ D% q% P" x1 W- C! u/ o- ; Default database name for ibase_connect().
- e7 ^# T! M. ~ - ;ibase.default_db =
( l8 s/ g! ]6 [ - 5 E6 R* V5 l+ I# r. |9 E
- ; Default username for ibase_connect().* ?( ?. }$ h4 g3 y! U1 p( L
- ;ibase.default_user =, M8 m1 t0 n" ~' M% J& { i5 B+ z
- $ W) y+ A1 c1 \& l a3 Q' I/ x8 u
- ; Default password for ibase_connect()." P2 P. g2 I+ g6 f3 a: k) X& s
- ;ibase.default_password =
4 b! E5 }& O8 x( q3 ^ ]+ t
6 T, p' B' b; O3 E! C- ; Default charset for ibase_connect().6 o5 t) B u7 G: G" k" O+ o! n
- ;ibase.default_charset =
) a; L2 a* \1 } - . u1 E: @! l' x" E! A
- ; Default timestamp format.
' S8 C. o2 @( ~ - ibase.timestampformat = "%Y-%m-%d %H:%M:%S"
& y3 e0 E) c0 Z5 y5 [ x9 a9 Z+ Y
: c' K9 |) G: y; ~* I7 f- ; Default date format.
6 {$ d, |1 q" e$ P5 I4 Z; p - ibase.dateformat = "%Y-%m-%d"8 Z* s' {3 d0 f% b3 h0 Y, K( E7 |
# x1 d# P$ q: O3 F* q7 Z- ; Default time format.& Q ]6 d* D2 l! q' s: [! R
- ibase.timeformat = "%H:%M:%S"
0 W* R+ R$ v0 c" e6 v8 F - 3 S/ E5 Z6 p9 y
- [MySQLi]
0 C4 D8 P/ l% }, Q- J X, l _ - ; B$ p8 k2 m3 [5 p
- ; Maximum number of persistent links. -1 means no limit.- S6 @8 T6 l$ \7 P4 \- B
- ; http://php.net/mysqli.max-persistent
+ k! Z. z$ O; c2 L, Y, D4 h/ v - mysqli.max_persistent = -1# P" O8 I1 z3 i& F: p) O4 n
& A, v' w ^0 U6 J8 V6 C1 j4 L2 m- ; Allow accessing, from PHP's perspective, local files with LOAD DATA statements
; T4 Y( U( b; c+ f2 w; j- U - ; http://php.net/mysqli.allow_local_infile# V A$ r' H! ^. j$ p. g* @) r
- ;mysqli.allow_local_infile = On+ l' m4 C5 U) @, X1 d x
/ X3 a& H1 c7 k7 a5 D4 g2 h: p- ; Allow or prevent persistent links.7 y# j; O; `2 r' {: f
- ; http://php.net/mysqli.allow-persistent
6 J7 y( G* a5 m2 K2 | - mysqli.allow_persistent = On4 o4 @) B" I( G+ g5 r
- & r& T9 H2 i3 o* ^
- ; Maximum number of links. -1 means no limit.
! [# V- @7 y& Q( W6 n0 T - ; http://php.net/mysqli.max-links6 W" V/ E, v3 ~ e+ n3 l% Z3 g
- mysqli.max_links = -1+ C! T4 O9 X0 v5 v% ~
; J: U2 S! X. t: ?- W( Q- ; If mysqlnd is used: Number of cache slots for the internal result set cache
! ~; V- @9 k9 G5 Q3 T0 s - ; http://php.net/mysqli.cache_size
) p; m, f- m6 H! E, x# K% x3 x - mysqli.cache_size = 2000
& _! `3 R; q/ L; q/ Q! j4 V: X
7 u" \4 }; @+ m0 y- ; Default port number for mysqli_connect(). If unset, mysqli_connect() will use
/ C2 [, c* f c1 a - ; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the: u8 v8 o$ `* z' X3 x* u
- ; compile-time value defined MYSQL_PORT (in that order). Win32 will only look
/ f H$ r( g$ p: R - ; at MYSQL_PORT.
" W; {+ }& H- j+ b' V- E - ; http://php.net/mysqli.default-port6 j/ Q% d% V5 G; v* z
- mysqli.default_port = 3306
3 A& E) P; d' T: s2 i - 8 U- Y5 ~! w1 }' Q! k8 r
- ; Default socket name for local MySQL connects. If empty, uses the built-in0 ~- }3 T4 P) @$ _* @1 Q7 D, d( e
- ; MySQL defaults.
8 v& H( ~0 h5 N+ s- p8 F Z- B- w8 M - ; http://php.net/mysqli.default-socket
8 |/ u" p. x- g' n( ]. r! X - mysqli.default_socket =
7 }6 e, _7 E( [& a - # @6 c. m3 ~* }/ i, J; r1 M
- ; Default host for mysql_connect() (doesn't apply in safe mode).+ C: a6 @ x ]/ X# _' b; }
- ; http://php.net/mysqli.default-host5 }- s8 y3 u/ ]& V1 f
- mysqli.default_host =- B' f$ [% b) j% W- d1 m \
- 6 \. b9 j3 _/ ?3 O& M9 C8 N* b4 {
- ; Default user for mysql_connect() (doesn't apply in safe mode).
+ @! Q. `0 q8 R( n2 H - ; http://php.net/mysqli.default-user$ @4 o- _/ Y. Q# ?9 N6 r
- mysqli.default_user =4 [+ D9 j: N5 S5 y5 k- v
- . e& p, O1 b8 A/ ?/ e0 ~/ R
- ; Default password for mysqli_connect() (doesn't apply in safe mode).# ?9 O& A1 o! m2 U
- ; Note that this is generally a *bad* idea to store passwords in this file.
3 m8 h4 r. j, m( F# ? - ; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw")
, \! A7 r, d2 l - ; and reveal this password! And of course, any users with read access to this0 R6 i$ ^( I# \" Q I( h& I8 c
- ; file will be able to reveal the password as well., L. ~9 v1 r5 |; B T$ N! W
- ; http://php.net/mysqli.default-pw
/ n/ B, n- s$ H/ j - mysqli.default_pw =
4 F) K' |: E2 m& h1 C5 `& Y( r P! G, L
# a! M" g7 D ~/ i# { d+ U- ; Allow or prevent reconnect. V4 h. d' h7 }
- mysqli.reconnect = Off3 U# X# D2 \ u! f, h( Z. }
8 C, g6 @( c% f/ f/ Q1 I6 _3 H- [mysqlnd]
9 U% T1 s, j& p; `: G% N% u4 S4 D - ; Enable / Disable collection of general statistics by mysqlnd which can be
m' E7 j4 J6 S7 e7 @ - ; used to tune and monitor MySQL operations.1 H5 n8 Y. C$ A8 O
- ; http://php.net/mysqlnd.collect_statistics
* ^8 O# ^/ f B" Y9 ~2 T. R/ h - mysqlnd.collect_statistics = On
/ T; S8 {' G$ ^' x1 b! ? - 5 R9 @0 W) g( X5 G! c7 w" S
- ; Enable / Disable collection of memory usage statistics by mysqlnd which can be
6 D6 J: L' _4 _$ ~) f! m - ; used to tune and monitor MySQL operations.7 e) {! {: I7 W$ P
- ; http://php.net/mysqlnd.collect_memory_statistics
; I; A! D6 X& Q - mysqlnd.collect_memory_statistics = Off
6 y+ F. F" U! g4 q" G! K' y - 7 f, [7 m" q8 `
- ; Records communication from all extensions using mysqlnd to the specified log/ r% W$ A4 N" F- V0 T
- ; file.
6 q$ }9 W: Z9 X9 i - ; http://php.net/mysqlnd.debug
5 F7 u/ b# d$ ^# {; ? - ;mysqlnd.debug =5 W( j% u6 |& V& b* _( j
[7 z% ^2 B w- _) v- ; Defines which queries will be logged.7 Z5 u2 C& Q' e
- ; http://php.net/mysqlnd.log_mask4 g+ l3 X: v' j, O: Y
- ;mysqlnd.log_mask = 0, Z4 v' t1 ~/ H5 ^
- 1 R3 d( i! R& Z6 F2 j
- ; Default size of the mysqlnd memory pool, which is used by result sets.9 e3 S9 D! {- f% X. D( }
- ; http://php.net/mysqlnd.mempool_default_size
# r: m/ F; r# f - ;mysqlnd.mempool_default_size = 16000# x$ W( _" c4 H. e; U3 j
% \1 l* c- X$ q" |% K. _ R/ U- ; Size of a pre-allocated buffer used when sending commands to MySQL in bytes.; E+ H# q H/ d3 p& f
- ; http://php.net/mysqlnd.net_cmd_buffer_size
! c9 c! E: W0 ^7 ]5 t6 g2 M& _& x! l - ;mysqlnd.net_cmd_buffer_size = 2048+ D3 p9 `- b) k$ }5 G6 f
' V7 V& S; K) K2 M" C- ~' Y) K- ; Size of a pre-allocated buffer used for reading data sent by the server in& I9 T7 e) Y$ ^
- ; bytes.
/ C- k2 u8 j9 T# ] - ; http://php.net/mysqlnd.net_read_buffer_size
0 l# }6 Q8 [# U- m. ] - ;mysqlnd.net_read_buffer_size = 327685 Q( J4 N a5 ~- x* M- y& ^' J4 ~
- 3 e* U( @6 c( b0 \7 z
- ; Timeout for network requests in seconds.! |: R. C- T1 ?! Y! t1 F
- ; http://php.net/mysqlnd.net_read_timeout t+ t8 @- L$ J: D. [, c5 d
- ;mysqlnd.net_read_timeout = 31536000 ~/ A! D; x: a$ o+ @4 t O
8 }% ]* s8 ^& j n% a/ T' z- ; SHA-256 Authentication Plugin related. File with the MySQL server public RSA
q1 C1 n0 c0 ^3 G5 |1 C - ; key.
% ]0 i m" S# X - ; http://php.net/mysqlnd.sha256_server_public_key0 [$ o- ~. I1 z& P( w D1 `
- ;mysqlnd.sha256_server_public_key =+ i' h) f, o3 b1 E1 O/ H
- 6 w7 F4 J, J$ J/ O& b
- [OCI8]3 t3 K6 e( r) C$ M9 }/ C
# f3 U9 [$ i& H0 O3 O- ; Connection: Enables privileged connections using external6 @3 g% F' A1 ?
- ; credentials (OCI_SYSOPER, OCI_SYSDBA) h+ Z; ?) [: R& B B# w9 t1 U
- ; http://php.net/oci8.privileged-connect5 o$ b6 b9 m& e2 U
- ;oci8.privileged_connect = Off! ^4 x4 b/ y$ h. t7 f
- ' l+ k: m! P+ u5 ~" |
- ; Connection: The maximum number of persistent OCI8 connections per
6 M! l. W5 u J& c) r, g: I0 { - ; process. Using -1 means no limit.. E$ k h8 {+ f- P
- ; http://php.net/oci8.max-persistent% L- ?9 W; ~) X/ O# }
- ;oci8.max_persistent = -1
: X" i& `( w- l0 @: z( m D
7 N1 n, ?" b7 v1 Z) O' i5 m- ; Connection: The maximum number of seconds a process is allowed to
8 K' }0 y( a D1 V" x: H6 o5 A7 ~ - ; maintain an idle persistent connection. Using -1 means idle
# T# t! v* c' b1 l2 L - ; persistent connections will be maintained forever. |6 @" c) _! _
- ; http://php.net/oci8.persistent-timeout
$ e% Q. u0 R% W0 p - ;oci8.persistent_timeout = -1
* [1 s% M' F8 d8 v7 H/ ~* h
$ n( c1 j6 M, u ^' X9 K, B; P! d- ; Connection: The number of seconds that must pass before issuing a
: R: U; P5 A1 M2 `9 Z - ; ping during oci_pconnect() to check the connection validity. When
. V3 e! @ C% s ~0 R7 T$ k$ ?' H - ; set to 0, each oci_pconnect() will cause a ping. Using -1 disables1 G& m6 V( `. E/ r4 A/ B& I3 S: s3 i
- ; pings completely.7 K: g# p( v d" k& r
- ; http://php.net/oci8.ping-interval6 M7 H! I1 V9 j
- ;oci8.ping_interval = 60' V6 X, ^7 m4 S
- / \/ S( ^! W$ X+ K2 N. i
- ; Connection: Set this to a user chosen connection class to be used. g% }0 p7 @5 {4 t+ ]0 X9 P) H
- ; for all pooled server requests with Oracle 11g Database Resident& ], x, D3 @5 K, t: h( B3 S
- ; Connection Pooling (DRCP). To use DRCP, this value should be set to5 G6 p& W5 a4 ?2 C
- ; the same string for all web servers running the same application,8 E5 n. c- ]1 ?) L
- ; the database pool must be configured, and the connection string must8 x# U; w; _" Z: M
- ; specify to use a pooled server.% i% u4 K# r& ^2 V# Q8 ~& R. Q
- ;oci8.connection_class = |3 c9 y. Y) b) s
- " j% R7 o4 P4 |' P0 q
- ; High Availability: Using On lets PHP receive Fast Application
+ r: `. P0 W1 m% m% P - ; Notification (FAN) events generated when a database node fails. The
; p3 P+ n) v( J) R+ H: I' o, i - ; database must also be configured to post FAN events.) a4 A1 ~0 ]. H% q2 {4 v, D
- ;oci8.events = Off8 m0 G4 W E, Q1 g9 J
- 9 K( ^& K7 c) _- A* V5 I7 |" E
- ; Tuning: This option enables statement caching, and specifies how* d6 b0 M5 h& M; w7 D0 B$ v
- ; many statements to cache. Using 0 disables statement caching.
9 q- |; C3 O1 F+ I6 t - ; http://php.net/oci8.statement-cache-size5 S& P$ V' C/ l8 D: y- c
- ;oci8.statement_cache_size = 20
5 X1 \/ i2 Y. n* y9 ?, Y
@3 T* _8 J* l1 k. n' R# O- ; Tuning: Enables statement prefetching and sets the default number of
/ X' F' ~% _' v1 S7 y. h' e9 Z) h - ; rows that will be fetched automatically after statement execution.
. t& h0 d" X3 V' h& G8 y/ {, ? - ; http://php.net/oci8.default-prefetch9 e8 }- c" ~* ?
- ;oci8.default_prefetch = 100
9 R9 M5 G6 h& o. n - * {, ?7 }2 W A. t. [
- ; Compatibility. Using On means oci_close() will not close4 O9 H. f% Y. i1 V- H0 [
- ; oci_connect() and oci_new_connect() connections.. Q+ [6 o" g/ R3 @9 x& {
- ; http://php.net/oci8.old-oci-close-semantics- e' G: w0 D& }& ?" b" `
- ;oci8.old_oci_close_semantics = Off% Z9 P0 d/ [( b9 G2 m f
- - g0 d0 L: ?- Y3 N# ?
- [PostgreSQL]5 M4 P) M- m- J1 u" H
- ; Allow or prevent persistent links.5 z. `$ {1 J) O; t, ]5 F+ W. e
- ; http://php.net/pgsql.allow-persistent
3 B5 q j7 ]1 t- c - pgsql.allow_persistent = On! G/ B5 ]3 s% {0 L0 H. `0 r
+ p \% h3 i8 F' X2 O" [- ; Detect broken persistent links always with pg_pconnect().
! X* G' [1 Z3 P% t. }( }: `$ G - ; Auto reset feature requires a little overheads.- }- Z7 j8 @7 [5 b2 O
- ; http://php.net/pgsql.auto-reset-persistent
4 H* Y6 r8 l. R6 Y1 k" V6 ` - pgsql.auto_reset_persistent = Off' Y1 S, }. X( _
: S7 a& K9 S+ H9 h" p- ; Maximum number of persistent links. -1 means no limit.
' j/ n% J Q6 V/ p) ]* X0 ] - ; http://php.net/pgsql.max-persistent0 z, a& m: l* D; Y, h
- pgsql.max_persistent = -1
. R, y, N% a: v" _$ r" M9 x
$ ~! `" [8 ?% t$ m" e4 z- ; Maximum number of links (persistent+non persistent). -1 means no limit.
1 G, N8 j. Z$ _. c. }' S( {1 k - ; http://php.net/pgsql.max-links
% Y+ b" L7 P R8 H8 p; E4 v* e' A8 r$ N - pgsql.max_links = -1
" h' @* T( T9 ]! j7 G; v4 [* i - " \8 y1 z$ ^$ y7 y8 V+ u
- ; Ignore PostgreSQL backends Notice message or not.& }! P1 {% Q/ B
- ; Notice message logging require a little overheads.* E, U% x" w% ^4 R5 H7 Z+ E1 y8 I
- ; http://php.net/pgsql.ignore-notice3 W& b) H1 u& v4 O* w0 h% V
- pgsql.ignore_notice = 0
5 B2 i1 i/ M8 [% x4 @( k0 X) m0 Y3 w - : y& i: Y1 ~$ E- T4 i E/ r
- ; Log PostgreSQL backends Notice message or not.8 R. C. @1 Y( d7 F
- ; Unless pgsql.ignore_notice=0, module cannot log notice message.
s( _! \3 N: L# K! H - ; http://php.net/pgsql.log-notice4 b+ l: ]: G' `, a. f
- pgsql.log_notice = 0
0 _0 S1 }6 N% W/ t
, b. M$ V" z6 r I9 [- [bcmath]! m( U. V9 D) j" P" w6 c x
- ; Number of decimal digits for all bcmath functions.
! c4 _0 y$ V. Q) F9 a - ; http://php.net/bcmath.scale
8 W0 q/ [6 i' L - bcmath.scale = 0
4 m3 ~9 \/ N! q3 `; }9 Z9 `* Y9 i - 9 Z, h: {% @' X+ g6 P
- [browscap]( D0 i1 N' f7 [' Z3 A
- ; http://php.net/browscap
2 T0 A3 l- `% A" p0 k; v - ;browscap = extra/browscap.ini
6 \ u. j- F" H8 l
) V& @, i0 D Z0 u- [Session]
4 w% F* j' J! @1 \+ I: O1 Z6 o - ; Handler used to store/retrieve data.
% b8 r$ [2 U0 X; u& e( O - ; http://php.net/session.save-handler# L! l7 E, n9 b; J
- session.save_handler = files z8 U, J8 L$ d1 ]' c' L. ] Q
( f' v# G: Q5 J+ Z9 e2 O3 Z( i- ; Argument passed to save_handler. In the case of files, this is the path$ l% @( Q* s' F' T, N
- ; where data files are stored. Note: Windows users have to change this
/ z7 P7 b# S! o" L& R, I' i - ; variable in order to use PHP's session functions.$ K) i: V& Z, {: S" Y4 o- G( x
- ;
" ?' D& ]- y- C* W5 v- F - ; The path can be defined as:
3 L1 j' L. R+ r Y) l& W. u - ;6 r0 F5 }0 P- j% h
- ; session.save_path = "N;/path"+ T/ a) \) P; M
- ;' w' k5 D3 s" {) Q9 P5 z0 U3 I
- ; where N is an integer. Instead of storing all the session files in! D+ [+ U' G+ J8 a$ G6 m# |
- ; /path, what this will do is use subdirectories N-levels deep, and" _ p. g& ]; ^% w1 s2 v5 D
- ; store the session data in those directories. This is useful if
3 h- w: f; C& a: t/ o" \ - ; your OS has problems with many files in one directory, and is g/ D, ]. a) i
- ; a more efficient layout for servers that handle many sessions.
6 q( S0 p4 y$ M- Y0 C - ;6 ?, D2 B9 u3 ^6 |
- ; NOTE 1: PHP will not create this directory structure automatically.6 {, c4 B4 T4 X: B( Q
- ; You can use the script in the ext/session dir for that purpose.
/ F8 b; B! k4 t4 L* u4 j* D - ; NOTE 2: See the section on garbage collection below if you choose to
5 R1 ~% d% H9 j) i - ; use subdirectories for session storage/ h* T3 K- n5 I1 ]" g0 ]
- ;% x; b+ M. H* A
- ; The file storage module creates files using mode 600 by default.' X3 `3 k# D: b! A
- ; You can change that by using; a& t' w: B! i4 Z/ W/ Z; X. ]
- ;' M. C- C/ o) X5 n2 }8 S5 ^- t$ `
- ; session.save_path = "N;MODE;/path"' r: O7 f9 E0 V# B
- ;
" K3 q- }, v5 C3 O9 |& ? - ; where MODE is the octal representation of the mode. Note that this
) e3 m1 u$ } z+ N - ; does not overwrite the process's umask.1 P' N; A5 A3 b$ V. B# V# }
- ; http://php.net/session.save-path
" B0 _7 }% d0 k7 [$ S - ;session.save_path = "/tmp". Z5 H$ [" O* a2 v3 C
- + Q9 i9 `" q7 D/ B& X7 m
- ; Whether to use strict session mode.
2 k- b- e+ s3 e - ; Strict session mode does not accept uninitialized session ID and regenerate3 @7 b1 \ z6 s) H% v0 `
- ; session ID if browser sends uninitialized session ID. Strict mode protects" X+ G/ t% t" q. g! s \
- ; applications from session fixation via session adoption vulnerability. It is$ U: F# h9 A9 _! H
- ; disabled by default for maximum compatibility, but enabling it is encouraged.
! D" u" s( ~& X5 c - ; https://wiki.php.net/rfc/strict_sessions
8 b% Z. W5 \/ Q2 s5 Q - session.use_strict_mode = 0# H! p" t7 a* i! @6 ?
" {6 x) G# k- N( |& m- ; Whether to use cookies.
& d6 e7 B6 E+ H; c - ; http://php.net/session.use-cookies+ s( n. k. |/ k7 x
- session.use_cookies = 1" S4 u' k, f5 ~" v* {9 e
8 m" H$ p6 X5 j2 `) `- ; http://php.net/session.cookie-secure
5 }7 Y& f: Z6 B9 u- q& A - ;session.cookie_secure =! c7 M4 K* P$ B7 r; N# V9 ?
8 v- n, ?. p0 h* _; ^- ; This option forces PHP to fetch and use a cookie for storing and maintaining
' C0 Z# z# L; K0 w, M- N - ; the session id. We encourage this operation as it's very helpful in combating3 v+ k8 V; ~& d/ k9 q
- ; session hijacking when not specifying and managing your own session id. It is$ S( M- e$ F' W/ j2 W
- ; not the be-all and end-all of session hijacking defense, but it's a good start./ V, H c$ d# |( A+ X# J% V
- ; http://php.net/session.use-only-cookies* s; h2 h: e# o! Q7 t) e2 ^
- session.use_only_cookies = 1" b" S9 X/ T5 S# f+ S! Z
/ F s1 f5 v& f9 a- R' d: _' G- ; Name of the session (used as cookie name).
; D/ {, Q' v' w$ n - ; http://php.net/session.name
i) @' M6 F; P) }) J! \3 h5 s" Q( u. n - session.name = PHPSESSID
9 F! K" }0 L8 `8 U: A( c
) `) Y& t3 r8 p* i3 S }- ; Initialize session on request startup.' ?+ X6 I4 D6 K
- ; http://php.net/session.auto-start
7 j' N |/ r. |9 ]* P- ^ - session.auto_start = 0
4 N5 I) n b6 B9 e" `3 d, Y
' A7 k; I, Y7 @$ m- ; Lifetime in seconds of cookie or, if 0, until browser is restarted.+ W: q% {) L3 @+ }+ E8 A
- ; http://php.net/session.cookie-lifetime
9 T" J3 f. s" _8 S8 b: B, ]; I - session.cookie_lifetime = 0) D" N* K" `* `# K
( b$ E: T3 |" y8 F1 h: n% O2 M- ; The path for which the cookie is valid.; E# r6 A, t6 n+ V1 a# A& G
- ; http://php.net/session.cookie-path0 g4 Q S7 L; x) |& b) t6 S
- session.cookie_path = /
' f7 p" R' x# g - # x& H. t$ c% {( x# l( {7 \
- ; The domain for which the cookie is valid." q/ o; E q w7 J8 G( O6 h3 O
- ; http://php.net/session.cookie-domain
" v6 Y) j/ G# [/ M - session.cookie_domain =- h5 J4 j) r6 a2 a
1 a* c. b. J: p/ ~2 a- ; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript.
: Q; Z# [% }: y# H - ; http://php.net/session.cookie-httponly
: N1 i0 n. D C0 z. B" k - session.cookie_httponly =# ? A X6 Z4 ~0 t) `4 a* V
$ k6 _0 p2 r& V- ; Handler used to serialize data. php is the standard serializer of PHP.
+ G4 z Y9 Z2 B9 V% m$ U. B: p) O; a - ; http://php.net/session.serialize-handler
5 ^) L4 u T) ` - session.serialize_handler = php
; U6 n" N( }5 [5 F% V+ S
! v `$ V/ i1 V; ?- ; Defines the probability that the 'garbage collection' process is started: [& g* S, Q8 S2 ]6 j
- ; on every session initialization. The probability is calculated by using/ C5 O7 k8 i: U. f
- ; gc_probability/gc_divisor. Where session.gc_probability is the numerator. X! p* d' n& e0 ?
- ; and gc_divisor is the denominator in the equation. Setting this value to 1
# E& b' t: P# Z7 M6 Z - ; when the session.gc_divisor value is 100 will give you approximately a 1% chance6 k% q9 H* n% V# Q# K! K3 H6 A4 w
- ; the gc will run on any give request.1 }1 l8 n. V8 K
- ; Default Value: 1
0 R" ^* g6 ?* h' N - ; Development Value: 1
6 @ a4 d, W* g2 S - ; Production Value: 1/ l( N; k k/ ~1 ]4 Z
- ; http://php.net/session.gc-probability
0 R+ u7 f: s1 W. J. j2 b' p - session.gc_probability = 1
: B" B9 u. ?2 s% U6 q$ S* _+ N
" @) P1 a( V* [, U/ X- ; Defines the probability that the 'garbage collection' process is started on every4 C9 u) K& R9 F; p& U9 {
- ; session initialization. The probability is calculated by using the following equation:
% D( E( I0 x3 {2 T - ; gc_probability/gc_divisor. Where session.gc_probability is the numerator and8 }/ \" F" s; ]5 z( _" |" p& Z. A
- ; session.gc_divisor is the denominator in the equation. Setting this value to 1$ Y$ z6 i/ J+ i: O" \, ]' q
- ; when the session.gc_divisor value is 100 will give you approximately a 1% chance
2 Q5 U' `: I) i2 M4 ^& T1 o - ; the gc will run on any give request. Increasing this value to 1000 will give you3 m0 ?0 c0 R6 g) D+ v7 U
- ; a 0.1% chance the gc will run on any give request. For high volume production servers,# b( T( \+ F$ h" x$ r
- ; this is a more efficient approach.6 H+ d3 F! D, @" {9 {
- ; Default Value: 100
1 W$ f7 u+ A4 V3 n# l( k. k1 O0 p - ; Development Value: 1000
5 ~+ ^' l2 j& D( r7 S - ; Production Value: 1000" p3 a/ B% i. p( _) {5 H
- ; http://php.net/session.gc-divisor9 W; {. r& O, G" d8 ?+ ]
- session.gc_divisor = 1000 T9 W# q& x4 a. H
- ( v' e7 {8 ]3 r3 {; z- N3 Y
- ; After this number of seconds, stored data will be seen as 'garbage' and9 `% G) Q$ h. |; G. ?
- ; cleaned up by the garbage collection process.9 N6 f# ?! _4 B- s! \8 V% G I7 V
- ; http://php.net/session.gc-maxlifetime# E G) E& [" `$ r9 w* [% S9 z
- session.gc_maxlifetime = 1440
$ I# ]' t2 W5 y* e1 |5 v* [. O - % P1 {( W2 e) g; b
- ; NOTE: If you are using the subdirectory option for storing session files" H+ m5 g; {! E- E. Y
- ; (see session.save_path above), then garbage collection does *not*
1 p1 o8 `9 y) g$ g7 y& C - ; happen automatically. You will need to do your own garbage2 c$ Z# r5 N2 a0 _- L. `
- ; collection through a shell script, cron entry, or some other method.- C* Y3 L _6 q1 X
- ; For example, the following script would is the equivalent of5 f: v2 ?* z" F) K
- ; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
- ~) @5 u, T$ S - ; find /path/to/sessions -cmin +24 -type f | xargs rm
# r5 d" m/ F# y2 V9 j x
3 L% ~9 d$ N# K4 W7 B" j N0 L- ; Check HTTP Referer to invalidate externally stored URLs containing ids.1 `" {3 c" |! T. L) {" o J
- ; HTTP_REFERER has to contain this substring for the session to be) ]) s) X& u! }( m$ @
- ; considered as valid.+ k2 W9 V# \0 W
- ; http://php.net/session.referer-check5 h& X" [7 g) I$ c
- session.referer_check =
$ E% O% G/ k' j/ ~! s& z, l
' f/ J, ^7 y3 g6 e! Y* d* J& i- ; How many bytes to read from the file.
6 @$ s: |& R- Y& z) L - ; http://php.net/session.entropy-length$ e5 z# s5 F( s, ^% s2 V2 T( R( L
- ;session.entropy_length = 329 Q: o* W: [/ S A* r
! T% q- `. o4 d6 q- ; Specified here to create the session id.* I% l3 F9 C& P H0 ?% y* H
- ; http://php.net/session.entropy-file8 L8 X, U8 Z0 ]3 m& u9 q
- ; Defaults to /dev/urandom+ i, C& }5 |3 ]% c; W
- ; On systems that don't have /dev/urandom but do have /dev/arandom, this will default to /dev/arandom6 D$ J$ `3 ?" p4 U6 \, m
- ; If neither are found at compile time, the default is no entropy file.4 |! h$ Y. m0 T9 b( W/ D( [0 p
- ; On windows, setting the entropy_length setting will activate the
! e7 p, |" f6 W! X8 ` - ; Windows random source (using the CryptoAPI)! z% d' m2 }. ?8 p9 X, S
- ;session.entropy_file = /dev/urandom
9 m7 U b( \0 W/ \( o1 o - / \$ h9 g7 z4 z, y
- ; Set to {nocache,private,public,} to determine HTTP caching aspects
0 T7 V$ F2 h* h; F - ; or leave this empty to avoid sending anti-caching headers.- ]+ M4 Z* N6 C& w; l' o. W
- ; http://php.net/session.cache-limiter! x% G8 w4 T3 d; S8 f; o2 |& q
- session.cache_limiter = nocache, h0 g1 a P" V* d+ J: d+ Y5 n
- 3 b# ]9 k* |# K1 l0 Y6 b. c
- ; Document expires after n minutes.3 ?0 U4 L8 ?+ H% R6 M2 ]3 y7 L* p
- ; http://php.net/session.cache-expire9 u9 @1 V: m- e# n$ a
- session.cache_expire = 180
+ a4 [: [. f; O8 m0 k; V% M - 7 n* G7 Z$ B: ^3 G @
- ; trans sid support is disabled by default.* k; z& n1 z2 k
- ; Use of trans sid may risk your users' security.
& O) A0 `$ p) D1 a! ~5 Y( F1 I. a - ; Use this option with caution.
- g8 M5 A- R1 x4 }) Y/ j+ c - ; - User may send URL contains active session ID# q" h& X% L) w' Y
- ; to other person via. email/irc/etc./ F4 i. _- j* i0 J( N( j6 {
- ; - URL that contains active session ID may be stored# W7 H$ p7 H8 V% {8 Y
- ; in publicly accessible computer.1 N; z y. Y8 O- w
- ; - User may access your site with the same session ID
/ l: t7 T, y8 v" p9 ]# g( h. b; x - ; always using URL stored in browser's history or bookmarks.
6 z+ d# [0 X4 e - ; http://php.net/session.use-trans-sid% K1 G5 p3 z5 U: S7 M" q V+ e6 P8 @
- session.use_trans_sid = 0
@( m' J2 b( u4 L7 b& q5 c
6 Y3 U1 z6 u/ l, s- ; Select a hash function for use in generating session ids.
$ }3 ^8 x/ }1 L. o6 c8 v* L3 U8 C - ; Possible Values
7 c$ Y% F' P4 v+ x - ; 0 (MD5 128 bits)/ O) l' o2 P" X9 C
- ; 1 (SHA-1 160 bits)( Q# ~1 c5 K7 h# ~- L) z; }. a
- ; This option may also be set to the name of any hash function supported by, P" G3 s8 D9 Q! R) d# S
- ; the hash extension. A list of available hashes is returned by the hash_algos() R8 W) z) B3 k: I5 M
- ; function.8 v& \/ @( V& {
- ; http://php.net/session.hash-function
1 w' `% z6 W P - session.hash_function = 0# b3 D% A. W7 |; _0 L; x1 n" ^2 k3 s
- 1 h& S4 O; y8 L# H! j
- ; Define how many bits are stored in each character when converting+ g. _; j3 m" Z( \! d1 e. o
- ; the binary hash data to something readable.$ \) g% M5 j( w6 j2 V
- ; Possible values:4 b1 C2 [9 F" X- J0 h8 V
- ; 4 (4 bits: 0-9, a-f)6 `* K9 v h* |3 b
- ; 5 (5 bits: 0-9, a-v)
, n2 o/ E1 j+ h- q6 n8 W' M1 i, ^ - ; 6 (6 bits: 0-9, a-z, A-Z, "-", ","). Y& e: A4 l% ^+ a
- ; Default Value: 4
1 {- U8 v6 r, w2 k3 x' ^0 M - ; Development Value: 5) ]" V7 s2 y" r( ]
- ; Production Value: 5
' c8 }# c+ c9 k+ N4 n - ; http://php.net/session.hash-bits-per-character2 D0 p3 U) i8 \
- session.hash_bits_per_character = 5
$ J, j$ J( j. z& N) @; ?
( p6 R2 o$ i4 y9 _+ |- ; The URL rewriter will look for URLs in a defined set of HTML tags.
! p& i. U, }) ?) u6 ^ - ; form/fieldset are special; if you include them here, the rewriter will
; U% X2 c- q" }+ @ - ; add a hidden <input> field with the info which is otherwise appended$ t9 X( l$ T- o: Y
- ; to URLs. If you want XHTML conformity, remove the form entry.
1 Q: c x% _' |* |2 v4 v/ g! q - ; Note that all valid entries require a "=", even if no value follows.' {! S& v( u7 h: f
- ; Default Value: "a=href,area=href,frame=src,form=,fieldset="
+ v: [4 } h% B0 s+ t - ; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry"
% _* q- E$ A. n - ; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry"# F9 Y' \' @* k J! u5 C
- ; http://php.net/url-rewriter.tags
$ E! b0 |5 z! z+ h% G5 t - url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"2 K. f6 r+ p6 H
- 1 C! S( J# C1 B+ ~
- ; Enable upload progress tracking in $_SESSION
8 ?4 ^1 v, n, c$ T) e - ; Default Value: On, ?( H' L; D! T
- ; Development Value: On
6 X5 r# G2 ]; ?3 K/ f0 ?9 { - ; Production Value: On( `. J; X A: M, P0 p+ H+ z+ `
- ; http://php.net/session.upload-progress.enabled; X( K5 F2 a( E; s, W- u W3 g
- ;session.upload_progress.enabled = On
$ s$ Y' t4 j; S* {* [8 `1 W$ n - 1 u( _1 y8 C* I) c/ G; N
- ; Cleanup the progress information as soon as all POST data has been read
& n* ~5 V6 |0 ?( @ - ; (i.e. upload completed).
1 {, u8 Y0 V; p* o* ] - ; Default Value: On; G: r* l: J4 \. f2 J' u% s, p
- ; Development Value: On* T! n# G. `% b
- ; Production Value: On5 I* X% x7 T4 ^6 I
- ; http://php.net/session.upload-progress.cleanup
# r( ]3 V% T( z- g& [( s - ;session.upload_progress.cleanup = On9 h, t& m9 q3 t% H' ?' A+ @3 @
- 3 i8 J; E- D+ ~6 T! g! v2 T9 ^9 p
- ; A prefix used for the upload progress key in $_SESSION
9 Q* L! }3 I( y: D2 V* h: ^ - ; Default Value: "upload_progress_". O. y' v T% m4 \6 n/ g" e$ ^0 J& m2 r
- ; Development Value: "upload_progress_"% l% \7 p, G5 g! } N% r1 F
- ; Production Value: "upload_progress_"! x! o8 `) w8 r; J6 t/ d
- ; http://php.net/session.upload-progress.prefix
3 A3 }% S# m# h% } - ;session.upload_progress.prefix = "upload_progress_"& g1 o, B2 |4 S) a. d
- 4 ^* P( W- F8 F* M$ `5 @
- ; The index name (concatenated with the prefix) in $_SESSION' F/ y: s% L* N2 Y
- ; containing the upload progress information
8 B- `2 f/ d" o' z, E7 p$ \, i3 M; m8 N - ; Default Value: "PHP_SESSION_UPLOAD_PROGRESS"9 }% G# W1 l, l9 F8 n
- ; Development Value: "PHP_SESSION_UPLOAD_PROGRESS"
9 _& V/ D0 G4 ? - ; Production Value: "PHP_SESSION_UPLOAD_PROGRESS". T! z6 C3 j+ Q" \7 m
- ; http://php.net/session.upload-progress.name8 g- C8 z* W0 {- A
- ;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS"$ p# b5 x" G, k% i+ a+ h
- 8 `: S( [5 P- D, I4 Z: t
- ; How frequently the upload progress should be updated.
# U0 A" o! v" t5 V4 ~* N$ s/ E - ; Given either in percentages (per-file), or in bytes: s- [% [. R7 B$ Y; B4 X
- ; Default Value: "1%"' O! d* J. A% `
- ; Development Value: "1%"
* \8 } `* Q# f5 z% V - ; Production Value: "1%"
6 d! ?; b6 G$ s/ b; { - ; http://php.net/session.upload-progress.freq
2 H5 A* C8 R# R - ;session.upload_progress.freq = "1%"
7 g3 F0 Q$ O7 C& t( U' {: N
6 d5 J( z/ }" t' B* i' m/ l. I- ; The minimum delay between updates, in seconds8 H. P9 C! N0 k; A4 p9 m' S
- ; Default Value: 1$ e2 o, A" V, \- M8 J% t( e
- ; Development Value: 12 B, `: T) e4 c6 g
- ; Production Value: 1: \5 g' w( ^+ s4 }
- ; http://php.net/session.upload-progress.min-freq4 f7 U _4 I! G9 z7 i$ A% Z
- ;session.upload_progress.min_freq = "1"
5 K+ {6 e+ I: W9 p3 I - 9 F/ t6 u5 N( O& o! w% R, s
- ; Only write session data when session data is changed. Enabled by default.
3 v+ {! Q$ c: e( W - ; http://php.net/session.lazy-write/ H6 o7 T7 O& h5 I, y) N
- ;session.lazy_write = On% m& R$ U, R$ q/ R' J! B
! T6 z/ C! u) l, H4 [; a9 ?! @- [Assertion]
0 j- T+ w" Z: H g) B) l( r7 i! J - ; Switch whether to compile assertions at all (to have no overhead at run-time)+ q% }, ^- e2 C6 I% }: {1 U
- ; -1: Do not compile at all3 Q; m. s/ s, T8 [7 o7 |
- ; 0: Jump over assertion at run-time
9 w5 h* _6 i4 `( |1 J - ; 1: Execute assertions2 H% M0 D, }: \/ A% m [8 f$ W
- ; Changing from or to a negative value is only possible in php.ini! (For turning assertions on and off at run-time, see assert.active, when zend.assertions = 1)
: ^3 \* P* k& {1 T - ; Default Value: 1
W& k$ g& V' X0 n, M4 i - ; Development Value: 1
( P6 R( L) j6 G4 r9 ]; A9 X - ; Production Value: -12 m% t' l- Q4 a0 u
- ; http://php.net/zend.assertions( j6 R# ~3 t2 W& ]4 @
- zend.assertions = -1' |$ U& S8 N- s8 W! Y8 H, S
- 3 D G+ s1 d/ w! X1 D6 p( i" a
- ; Assert(expr); active by default.+ K/ e4 @2 t* u$ I/ X8 V) K( b
- ; http://php.net/assert.active# M7 i6 Q2 j' i0 U$ S0 T
- ;assert.active = On
* L% z" o; `8 r& }; d
$ S5 M8 `2 _8 q Y6 {- ; Throw an AssertationException on failed assertions5 c- t' q. {2 a, T0 Z+ H7 H
- ; http://php.net/assert.exception
1 N T# T% d" }& r5 \2 I - ;assert.exception = On
' \7 |9 ~- l2 L# f/ W
9 J& p) y/ G9 v, L( m- ; Issue a PHP warning for each failed assertion. (Overridden by assert.exception if active)) A# W8 f) R: v" U5 O
- ; http://php.net/assert.warning
" _9 S" L! r$ Q+ P# V+ B - ;assert.warning = On
6 V ^0 Q0 ^$ L6 n) A% J2 E' O - : y% G7 R8 u% M# b! a- y3 b2 Q
- ; Don't bail out by default." i# q4 |8 Q. y+ `6 D
- ; http://php.net/assert.bail
9 C: D; V. o( ~& N/ v# Z* n" A - ;assert.bail = Off9 F# s6 u0 U) I4 v& Z8 C: l$ w
3 [( X$ r; V% n2 O3 o2 t( a. D5 P- ; User-function to be called if an assertion fails.8 u+ N. p. y$ u$ j+ Z- V9 o
- ; http://php.net/assert.callback0 c' N3 ~2 t; y Z
- ;assert.callback = 0
9 |1 g& k- V0 ?4 I5 T) u% I
/ o1 o6 ]& Q+ z8 z& z- ; Eval the expression with current error_reporting(). Set to true if you want
0 U! F3 Q4 D4 g+ f; O - ; error_reporting(0) around the eval().) X9 R* |1 b! f9 P* c1 k; V
- ; http://php.net/assert.quiet-eval
- g1 M, u& R3 D - ;assert.quiet_eval = 0+ _1 }; `( u' Y- R! ~0 B3 F
( y$ x8 x2 k! l- [COM]
, u5 n; s; ]) o& L0 x# h. T3 E - ; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs7 i* o: n" g- ~; G2 E4 {# V; s4 `" N
- ; http://php.net/com.typelib-file
- E# X$ y8 Y% u# M - ;com.typelib_file =
6 T' p4 B+ J R# p0 U
; y, l, u+ D7 ~8 \5 a, I/ |- ; allow Distributed-COM calls
3 y/ R/ y* s1 V/ R0 G3 } - ; http://php.net/com.allow-dcom9 t4 l! F y4 n! I
- ;com.allow_dcom = true
* Z+ r5 F0 f' j2 y
1 ~2 V- e% H. G- ; autoregister constants of a components typlib on com_load()
B0 q2 d' ?1 {. X) G5 P" x6 c - ; http://php.net/com.autoregister-typelib
, S) l7 Z) A$ l; t) D2 C; z4 I - ;com.autoregister_typelib = true, I8 e+ q) @2 E1 j
( S4 e0 T1 K; D! V# a. u- ; register constants casesensitive
" t! z X2 U9 `0 J0 P - ; http://php.net/com.autoregister-casesensitive
) Y# d! z; ^0 w+ t - ;com.autoregister_casesensitive = false
. U9 I5 _7 [1 x5 ?6 y" G - . i! S) c& v! O% {5 q* y" d
- ; show warnings on duplicate constant registrations0 J3 m8 H% S2 q; v1 ~! v% ]
- ; http://php.net/com.autoregister-verbose
, r( y+ X$ y4 b. L% Z. N3 g - ;com.autoregister_verbose = true
: B% s& ]/ i% _* w/ F0 I - * t3 d5 w. z* D/ Q( O) M; Q
- ; The default character set code-page to use when passing strings to and from COM objects.6 y3 d2 g) v* h- [5 h
- ; Default: system ANSI code page
+ `6 j5 U0 b, ~8 G, E5 _- \8 F$ @, o' z - ;com.code_page=5 v6 k! M V* t
- 3 z7 g* `* \! D" W0 n
- [mbstring]# Y* }, H! c# ~) P
- ; language for internal character representation.
1 D" t; L" l& g+ E: K( A# i - ; This affects mb_send_mail() and mbstring.detect_order.: {) U8 v* Y |: G! _/ v
- ; http://php.net/mbstring.language# g4 r8 _1 C2 g6 b! j J
- ;mbstring.language = Japanese
7 [# I+ U$ p7 b* U" ~6 O
3 F6 C& S; n5 N3 X) M2 e0 _! Z( J6 }- ; Use of this INI entry is deprecated, use global internal_encoding instead.. {4 a; S! _5 S4 [+ @ e: z
- ; internal/script encoding.
' V( p6 V8 j m4 a+ }: H - ; Some encoding cannot work as internal encoding. (e.g. SJIS, BIG5, ISO-2022-*)2 n$ e- U4 d: f( ?- y
- ; If empty, default_charset or internal_encoding or iconv.internal_encoding is used.
- c5 B, U6 s; B! R3 b5 q - ; The precedence is: default_charset < internal_encoding < iconv.internal_encoding
) X) B/ a S$ S - ;mbstring.internal_encoding =0 a, d4 N" w: D( _1 w
- ' e V2 L* U& k# i- G6 o
- ; Use of this INI entry is deprecated, use global input_encoding instead.
+ J; {* w( p0 z$ T9 e, N5 ~: B - ; http input encoding.9 f. H/ w, w: U5 J
- ; mbstring.encoding_traslation = On is needed to use this setting.
0 C9 F% t. j* X: t7 b - ; If empty, default_charset or input_encoding or mbstring.input is used.& S: c- `* ?5 C: ^* ?
- ; The precedence is: default_charset < intput_encoding < mbsting.http_input2 N j* M4 a$ _, g
- ; http://php.net/mbstring.http-input
# R2 ]5 S2 @% D( J8 t$ ]3 W2 j: L - ;mbstring.http_input =
/ n- ]! t. ]. q! ^6 S8 t
* w( f* m( d$ Q$ f- ; Use of this INI entry is deprecated, use global output_encoding instead.
. |5 [/ R1 x2 a% b8 g# y - ; http output encoding.- ~3 U7 K2 O4 S0 H, T! R& |- t P+ B
- ; mb_output_handler must be registered as output buffer to function.
9 j9 v. K& A5 o/ z9 b - ; If empty, default_charset or output_encoding or mbstring.http_output is used.
6 L: I9 I& M1 o2 a! p - ; The precedence is: default_charset < output_encoding < mbstring.http_output
* D$ Z1 a; ]# H8 P P - ; To use an output encoding conversion, mbstring's output handler must be set; k1 l6 i- T5 M6 f$ c
- ; otherwise output encoding conversion cannot be performed.; K7 f2 v' Y3 Q( n9 c# b
- ; http://php.net/mbstring.http-output' v, H- t7 m4 v0 l
- ;mbstring.http_output =
9 S; G4 I0 ^/ @. r: G9 { - $ p% ]+ ~! c2 L
- ; enable automatic encoding translation according to
, t! F- }: c8 H* H - ; mbstring.internal_encoding setting. Input chars are; p2 T, y% u2 l9 I n
- ; converted to internal encoding by setting this to On., L, G) S i4 k$ Q
- ; Note: Do _not_ use automatic encoding translation for: O- X" x) x* B# g J' t
- ; portable libs/applications.
: P; c( u' M2 A5 a( g& f& P, X9 ? - ; http://php.net/mbstring.encoding-translation
2 O6 ]- t4 M0 s. W; ? - ;mbstring.encoding_translation = Off7 {, v6 [1 e7 _1 d3 J3 m7 w
2 K- X8 o7 X: n- ; automatic encoding detection order.
4 ?# H$ Z3 D& P% y: D2 y; p( H - ; "auto" detect order is changed according to mbstring.language' _! T+ @# w& N
- ; http://php.net/mbstring.detect-order m, Z9 O6 |3 z) S$ q* ]3 Z1 K
- ;mbstring.detect_order = auto6 t |; r' ]7 D h) J, Y0 x g( R9 [4 m
- 8 o& G* N+ L- T3 \3 ?6 V) N
- ; substitute_character used when character cannot be converted3 H) f# ^% r6 e- X, v+ M
- ; one from another4 A- D f) k3 h$ Q- _8 t# b
- ; http://php.net/mbstring.substitute-character8 c" Y1 R0 E3 L8 x- |
- ;mbstring.substitute_character = none
, k6 T. {# L$ U3 D% j
% v8 l7 H8 R+ ^% Z- ; overload(replace) single byte functions by mbstring functions.1 B; ]8 r+ A: @/ i5 E( z( ?
- ; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg()," a; {0 O/ R9 F
- ; etc. Possible values are 0,1,2,4 or combination of them.
: ?4 }$ r# m4 E3 f2 Q8 c( ] - ; For example, 7 for overload everything.! S2 M6 H; K, v0 y: ]9 O+ O
- ; 0: No overload
' Z6 b- n( w( M. J9 u0 b" n; n- W - ; 1: Overload mail() function: H& ?% {. M0 R
- ; 2: Overload str*() functions
5 f3 ]! N* h) k2 f2 O7 k - ; 4: Overload ereg*() functions
$ a' A( ~. b- t - ; http://php.net/mbstring.func-overload; ` ]" y' C& Y+ b# x' x: e
- ;mbstring.func_overload = 0/ L- I f% ?- R; [3 n* g3 {
- + I2 T( p9 ]% v+ Z5 D
- ; enable strict encoding detection.0 j: t* E# u+ ?; U
- ; Default: Off
0 ]5 U3 K: B2 b: ?& a( a1 s O - ;mbstring.strict_detection = On
. @) R- R! M. u ?4 d3 J c5 c - 4 p8 Z* F$ C, L0 X' E$ q; _7 G
- ; This directive specifies the regex pattern of content types for which mb_output_handler()
- J1 x% J, q$ j - ; is activated.3 C. t, K- ^7 B7 K9 m
- ; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml)
( s- O6 |; z6 c0 U$ C9 q9 q+ w - ;mbstring.http_output_conv_mimetype=
6 y/ O1 D T# K' c8 v( B$ H
% i3 \4 b/ h: E+ o$ i- [gd]% X0 [3 |; D3 O6 y% @0 C! |
- ; Tell the jpeg decode to ignore warnings and try to create
' j1 f; ?; X9 l4 a - ; a gd image. The warning will then be displayed as notices
6 ^2 o7 V: ^2 P) y0 Q8 A - ; disabled by default
u3 g" ^: p- R7 ?" w5 l2 \ - ; http://php.net/gd.jpeg-ignore-warning
! z* G( ?8 k7 J( b) e: m0 B - ;gd.jpeg_ignore_warning = 0& h, q' `; M, T; q* U
2 o+ F8 W4 j7 |& f! D3 }! ^' d4 t/ ?2 o- [exif]2 g- k- n4 r3 i" v r, n
- ; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS.
3 `* y4 ^7 S5 g ~ | - ; With mbstring support this will automatically be converted into the encoding' G+ \6 \' [$ u- T6 [( w7 x
- ; given by corresponding encode setting. When empty mbstring.internal_encoding2 ?' t+ @' J# y0 S" R
- ; is used. For the decode settings you can distinguish between motorola and
$ E! r' |6 R2 N. Z- l- E" U8 f - ; intel byte order. A decode setting cannot be empty.7 V2 W, I' d# i. E5 v) D" ~
- ; http://php.net/exif.encode-unicode" ]( R. i1 {9 l: \7 A! k4 W
- ;exif.encode_unicode = ISO-8859-156 ^" x2 U6 Q+ } @3 q* d7 ?5 m
- : r* s- A2 c6 e: _) E
- ; http://php.net/exif.decode-unicode-motorola, Q2 J$ K$ i- L% e; x
- ;exif.decode_unicode_motorola = UCS-2BE
8 f- _5 X, `4 ]! d4 m& S2 N& v" x
# p9 W& B8 D" P2 j" J- h- ; http://php.net/exif.decode-unicode-intel
; Q! `4 |, E) I$ U3 Z% K* k - ;exif.decode_unicode_intel = UCS-2LE& {$ v. ]& K8 o8 N- k
- W/ C7 E+ f, \/ c
- ; http://php.net/exif.encode-jis
( M/ P0 n! P6 X5 R$ T. {) r - ;exif.encode_jis =
) @& @1 ]9 O; S- e5 n - 0 L. ^1 X' u- d& W. N# |, Y
- ; http://php.net/exif.decode-jis-motorola# j3 n8 l! c6 ]2 [, s5 Q6 E8 S! s
- ;exif.decode_jis_motorola = JIS# K" @/ T+ E4 w% d3 L! Y
- $ [: n1 n; i( ^2 a* b8 V
- ; http://php.net/exif.decode-jis-intel6 I; F9 T1 S( c/ ^$ G
- ;exif.decode_jis_intel = JIS W% a. m" `1 b
) O! k) Q; L4 Y( B. J4 L- [Tidy]
+ X: H% M- d( B" F - ; The path to a default tidy configuration file to use when using tidy" R- I, V0 d0 w
- ; http://php.net/tidy.default-config9 S0 T5 q, Q: a; h2 e# _6 B: s
- ;tidy.default_config = /usr/local/lib/php/default.tcfg. X G+ B# o/ M
! \+ W/ D8 x, j1 q+ m8 U- ; Should tidy clean and repair output automatically?3 y% _6 o1 @9 g H* v) p0 E. S/ K
- ; WARNING: Do not use this option if you are generating non-html content. ^$ G+ E/ m2 t$ \
- ; such as dynamic images
' J- R: O+ a7 j- }$ R$ D - ; http://php.net/tidy.clean-output2 D& l5 R2 T9 y% Y F5 \
- tidy.clean_output = Off
\2 w- t" o. \, Q) E4 \
! P" F( e8 `* d: l& l& [8 Z8 l- [soap]
9 x: X: m2 N: \. y2 F9 d - ; Enables or disables WSDL caching feature.
" f( p1 c6 A) z5 e$ t- v0 X - ; http://php.net/soap.wsdl-cache-enabled
; i1 a- O* y$ D* X- @* Q4 r# L - soap.wsdl_cache_enabled=1
! ~( b4 H0 Y. H- x1 o2 c - ( D2 A( W3 w0 c, H
- ; Sets the directory name where SOAP extension will put cache files.
6 T$ f5 S* H3 Y/ p! I - ; http://php.net/soap.wsdl-cache-dir
- a6 \- _( d2 \ R; m( Y - soap.wsdl_cache_dir="/tmp"
% z1 a6 J3 p4 i( e9 H% p
* {& d% j4 C% V2 M( ~- ; (time to live) Sets the number of second while cached file will be used# H9 I( g4 f# F( [
- ; instead of original one.
3 a* g2 z! M+ x+ }% c - ; http://php.net/soap.wsdl-cache-ttl. g: ]8 t2 E0 L- E* N& Z; x9 t; a
- soap.wsdl_cache_ttl=864006 A7 D9 E; i6 F# y0 T' W
- , R% M+ W9 y) t9 Z) T
- ; Sets the size of the cache limit. (Max. number of WSDL files to cache)$ ?% {& @) \' C+ {' n z+ ?
- soap.wsdl_cache_limit = 5% ^ H; r2 m; y
- - u/ J7 r% c" h- A; j" }8 D( \
- [sysvshm]. A f/ { t9 m7 I* ?! N, ]! w/ P
- ; A default size of the shared memory segment- R1 @, h( A& G# I1 `9 I& q5 r1 [- y. x
- ;sysvshm.init_mem = 10000
+ {- `- `9 d" d
0 j' a5 f3 g% I* P) [( \- [ldap]
* l( ?, I" [- ]9 \; p5 s3 Z - ; Sets the maximum number of open links or -1 for unlimited.& y* _0 E& Z5 v$ y2 ~! x+ q
- ldap.max_links = -1/ N) Z' i9 n: M3 I/ A: @* A
- / }) f: U- h. M$ [' I
- [mcrypt]
: w D( Q- E0 Q! Z5 W! _' N - ; For more information about mcrypt settings see http://php.net/mcrypt-module-open
; j, D, v5 b( f2 G - , d7 K0 K7 r9 w3 ^
- ; Directory where to load mcrypt algorithms9 N) Z5 v$ \0 V$ s9 U7 J: j
- ; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt)
; p0 S2 _4 I p+ I/ E) I0 y+ Z - ;mcrypt.algorithms_dir=
& s. }+ S" |% ` - % _# j6 i: s. E) j! x
- ; Directory where to load mcrypt modes1 Z X5 X/ p( k0 T
- ; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt)
1 Z8 }7 P2 {' P1 A8 p - ;mcrypt.modes_dir=! G1 Z) E+ {$ ^' `4 L# u
2 x! P. I" G4 d7 s$ Z3 ^6 ^- [dba]" G) v" U0 g |7 o: N5 J
- ;dba.default_handler=
' b3 ^6 e+ g) D+ V: t3 ] - 6 W0 {( i" {# k8 {5 b- v# F
- [opcache]
3 {' v* P ?6 X* b( C; r - ; Determines if Zend OPCache is enabled
7 [: Q/ [& Q- D( U - ;opcache.enable=0
4 Y8 `* @" c) h$ y U - & p" W5 X4 C1 R0 s. _3 C
- ; Determines if Zend OPCache is enabled for the CLI version of PHP
# v, H* X4 N3 U: Q+ R7 F8 U/ I - ;opcache.enable_cli=0/ b8 F! b; Q# K) v6 D+ h
" \, F. B2 J4 `9 |+ u- ; The OPcache shared memory storage size.2 N' Q) k/ m" u/ g1 ]
- ;opcache.memory_consumption=64
1 f6 C: ~; f2 _: _9 @5 N
# T1 m v* D8 w" p) k9 s- ; The amount of memory for interned strings in Mbytes.. O# K; l, U' \
- ;opcache.interned_strings_buffer=4
5 E' Y0 I$ \- f, W" r b - , S9 _' ?; e- o+ ~
- ; The maximum number of keys (scripts) in the OPcache hash table.- h; ?1 [2 |/ T# ?+ |; z& q
- ; Only numbers between 200 and 1000000 are allowed.* F6 b/ E( W7 ^) i$ q0 s8 p
- ;opcache.max_accelerated_files=2000
& m P7 |! g- V% c* ~6 e* {) e
9 A" b2 V4 C9 X$ n$ r0 A9 C- ; The maximum percentage of "wasted" memory until a restart is scheduled.
! X, S- w3 S" i5 [ - ;opcache.max_wasted_percentage=5' D7 Q8 s7 A7 A- U5 A
- % B* J5 j$ l: i0 B2 d6 N6 P
- ; When this directive is enabled, the OPcache appends the current working9 `$ d) H7 \ L% l' I
- ; directory to the script key, thus eliminating possible collisions between
) F2 ]/ s8 M& A( H* ]$ h8 m) Z - ; files with the same name (basename). Disabling the directive improves
: F* h' P5 x7 X N" `' T - ; performance, but may break existing applications.$ E) j o2 ?* ^+ c3 \
- ;opcache.use_cwd=11 U& g" f0 E) i3 E7 D1 R! X5 U3 k: V
) a& i* }+ n* C8 \; r* m5 t. v) ^0 M- ; When disabled, you must reset the OPcache manually or restart the
0 |+ _- N' L5 r* c. c - ; webserver for changes to the filesystem to take effect.
5 g2 U( ^8 f, r: |8 h - ;opcache.validate_timestamps=1
! [8 ^& V# c( N1 H9 T# y - 4 }+ I* T$ M5 G
- ; How often (in seconds) to check file timestamps for changes to the shared
1 y* o. \: J9 r0 K, C - ; memory storage allocation. ("1" means validate once per second, but only! T7 a/ J2 D6 d+ l2 k
- ; once per request. "0" means always validate). x$ E/ [7 M ]5 M, \4 N3 T# T
- ;opcache.revalidate_freq=2
/ E- N! X: {3 I/ L% z - 9 A5 `2 f; ~, N6 e
- ; Enables or disables file search in include_path optimization& N3 C. T+ C, C
- ;opcache.revalidate_path=06 x7 k; u2 r+ M; y( s9 i+ Z- {
) a2 K! n' @5 u7 r- h4 I- ; If disabled, all PHPDoc comments are dropped from the code to reduce the
7 F. Z) l% }4 p - ; size of the optimized code.
0 G* S8 G5 p" `% M: L - ;opcache.save_comments=1
- v& `% b( p* b2 D2 i1 y! q - , C% |6 H: u9 H. p% f4 ~, d. r
- ; If enabled, a fast shutdown sequence is used for the accelerated code" c& Z) |/ _3 j* E( K1 C8 u
- ; Depending on the used Memory Manager this may cause some incompatibilities.# R# w7 n+ y+ M
- ;opcache.fast_shutdown=0
7 B7 ?( a: @$ x5 K* X! R5 N$ e5 `$ ? - ) q& `+ z) w' d" y* i( F; X
- ; Allow file existence override (file_exists, etc.) performance feature. v3 [& O5 u# u& x8 ^
- ;opcache.enable_file_override=0
n$ I/ Z6 [. S) @2 D8 r
3 T; N3 z4 H% t- ^6 h% D$ P- ; A bitmask, where each bit enables or disables the appropriate OPcache
9 r) r1 b8 e9 A) | - ; passes
! E( _3 p1 n* U$ W7 V9 |- l - ;opcache.optimization_level=0xffffffff% w P2 O% |6 J* \' X/ Y. \
' O- C9 d0 R% D9 T9 @- ;opcache.inherited_hack=1$ u, n9 f+ U* g' L' c
- ;opcache.dups_fix=07 F$ l# z0 b8 U: C
- # Y& ?7 o9 Q! \, ~) t$ q
- ; The location of the OPcache blacklist file (wildcards allowed).
7 @& r+ ^/ G+ A) C - ; Each OPcache blacklist file is a text file that holds the names of files
3 v. N1 o# @& |0 w - ; that should not be accelerated. The file format is to add each filename
/ g5 a# K: q+ _9 p& `9 g/ ?1 v* w! W ]: Z - ; to a new line. The filename may be a full path or just a file prefix2 j( a2 z' g m! ?" ^
- ; (i.e., /var/www/x blacklists all the files and directories in /var/www
; w( l$ V4 A) x2 S/ y4 d# V - ; that start with 'x'). Line starting with a ; are ignored (comments).
! F3 r' ?+ o% D1 k( q) G6 F - ;opcache.blacklist_filename=0 P- T( ?% s) i* V
- 6 c, {, n2 U' s1 H) L& r
- ; Allows exclusion of large files from being cached. By default all files2 U* u$ _, O: [1 e9 ]( p. [
- ; are cached.
) a6 ?& m6 q1 B: u! {& d - ;opcache.max_file_size=0* g% C( C+ u" j" \, t' T# q, v
- 2 ` t- G: U( C: b
- ; Check the cache checksum each N requests.; T6 ^ j7 k) q6 R( S) \
- ; The default value of "0" means that the checks are disabled.) \$ k6 y+ ~* ~( ]6 x. ^7 R
- ;opcache.consistency_checks=09 w8 f( i4 u7 Z; Y: `& a
) m) g0 b6 ?2 I6 d. }4 @5 @* ^+ y- ; How long to wait (in seconds) for a scheduled restart to begin if the cache" v; u) e0 \/ z
- ; is not being accessed.0 h% E) c- U( N; s: i$ m9 _
- ;opcache.force_restart_timeout=1802 \" b. P. b$ K) }9 N( U2 E! X# W* \1 y
- 7 D9 t8 o. z3 k& l
- ; OPcache error_log file name. Empty string assumes "stderr".
8 |: K) f1 s" q. N; w2 } - ;opcache.error_log=
2 z) |) _- n8 @! K8 L/ q7 U# b - 4 D6 j3 m+ P/ O3 H. E+ I
- ; All OPcache errors go to the Web server log.9 X, N9 x6 g0 ]5 A
- ; By default, only fatal errors (level 0) or errors (level 1) are logged.3 b/ K. F* G5 o' r6 _/ g
- ; You can also enable warnings (level 2), info messages (level 3) or ?/ B2 g* f3 A* [1 v
- ; debug messages (level 4).% D$ c2 V, I, b. \
- ;opcache.log_verbosity_level=1
, M3 L9 \3 g3 R5 `: C Z - ; ~, e1 _8 Q! t. P: d2 h g
- ; Preferred Shared Memory back-end. Leave empty and let the system decide.
) A0 b% c ?, ^1 M* y - ;opcache.preferred_memory_model=& w( L8 M; a# x9 d) v3 s
4 z' Z, }* X& o$ [# c: g- ; Protect the shared memory from unexpected writing during script execution.
: @7 w" K1 I; s2 K/ f - ; Useful for internal debugging only.
5 m3 y+ l6 L# c) A: j9 n$ M - ;opcache.protect_memory=0
7 q: E/ m9 X" n' Y9 i
* C+ B! F, G( `- ; Allows calling OPcache API functions only from PHP scripts which path is2 m+ a; H4 D) ?. I! y* k
- ; started from specified string. The default "" means no restriction' V( e- p% D! \5 P$ f0 |) H. }" y
- ;opcache.restrict_api=* d' S0 a6 h: {7 ^3 C7 X
1 Y) M, ?8 A8 s) s8 X* a* k% y* F- T- ; Mapping base of shared memory segments (for Windows only). All the PHP& _2 Y" E! G; k- Z9 ?) M1 \
- ; processes have to map shared memory into the same address space. This" @+ m& {7 q% j4 T. H
- ; directive allows to manually fix the "Unable to reattach to base address"! B' v3 Y5 d1 O" \" Y
- ; errors.
( ^! O7 {7 F+ @! {& n - ;opcache.mmap_base=3 l- ^+ Y2 e7 ^
- - x K- s6 e' F4 q' k- ?/ f7 N6 N
- ; Enables and sets the second level cache directory.: v7 _/ [ a6 ]5 k: I9 e* a
- ; It should improve performance when SHM memory is full, at server restart or# N p i. ~5 a3 b$ L2 M
- ; SHM reset. The default "" disables file based caching.6 f$ M7 E7 A# E! E2 I$ i
- ;opcache.file_cache=, b0 u) q, w- m, C. Z6 T l
2 j/ ]$ t0 @; O# ^- ; Enables or disables opcode caching in shared memory.
# k' k' i+ A( D( Z5 Z - ;opcache.file_cache_only=0
5 w N, D# y7 [, @" D4 |. k
% F- U7 L- x/ f9 j- ; Enables or disables checksum validation when script loaded from file cache.
! c1 L7 x5 I7 a: W - ;opcache.file_cache_consistency_checks=1
: }+ s3 |% W) m/ E4 N8 ~
/ _6 {+ [& ]: |7 d- ; Implies opcache.file_cache_only=1 for a certain process that failed to- [# \& y3 P4 ^6 k n4 g
- ; reattach to the shared memory (for Windows only). Explicitly enabled file/ j' P. ^/ _" B
- ; cache is required.: @4 ^, {' g7 ?7 v% ?
- ;opcache.file_cache_fallback=1
% b- }3 e$ }& z0 m+ G; l - $ u! X0 N# G. G' \" _
- ; Enables or disables copying of PHP code (text segment) into HUGE PAGES.
1 \, ~0 h6 n& ^4 J' j: J - ; This should improve performance, but requires appropriate OS configuration.8 T3 A. K; V6 J. X
- ;opcache.huge_code_pages=13 D9 t: t$ P* a; a$ `3 [
2 r! `* R: s* H- ; Validate cached file permissions.
1 e+ A* M$ j, `3 I - ; opcache.validate_permission=0
. s5 f! v/ ?2 W- x! A* u - + Y+ \5 b$ c# Q1 J! j
- ; Prevent name collisions in chroot'ed environment.
6 _' b; t8 b0 x/ T - ; opcache.validate_root=0
$ F0 b+ @! k. C' ]$ t0 R t2 j* o - 9 z2 C6 |7 a& S) r
- [curl]' L' M( ^: k% ~
- ; A default value for the CURLOPT_CAINFO option. This is required to be an9 ~5 _0 g0 Q1 b% [; ^
- ; absolute path. r& ?6 p G D% V
- curl.cainfo = /etc/pki/tls/certs/ca-bundle.crt
, d' n5 \0 ^1 V2 { P2 T
- S( p3 K# _) c; O- [openssl]+ v! @- D& q; o+ b2 d
- ; The location of a Certificate Authority (CA) file on the local filesystem
7 n! g3 a3 K/ Z4 k4 q3 t - ; to use when verifying the identity of SSL/TLS peers. Most users should; f( F( Q: h9 C+ X
- ; not specify a value for this directive as PHP will attempt to use the7 z% b% Z8 ~/ a% j2 r/ a7 t
- ; OS-managed cert stores in its absence. If specified, this value may still6 U' r4 S: `5 Q2 W
- ; be overridden on a per-stream basis via the "cafile" SSL stream context& F2 p) @! N- m3 C2 ^. W/ ]
- ; option.4 ^, r( `% a) A4 T4 O7 w ~
- openssl.cafile=/etc/pki/tls/certs/ca-bundle.crt
1 s) l& O4 q, g$ \ - $ w- B& @ x4 {4 `/ M
- ; If openssl.cafile is not specified or if the CA file is not found, the5 o3 v. J3 Q+ {! L% a0 |* N
- ; directory pointed to by openssl.capath is searched for a suitable: m1 p `, q5 z
- ; certificate. This value must be a correctly hashed certificate directory.5 ^7 b5 R& o; \- H" p; m: ^+ w
- ; Most users should not specify a value for this directive as PHP will
9 D7 _* {5 [( p - ; attempt to use the OS-managed cert stores in its absence. If specified,) T0 u3 x6 v6 a5 ? J0 o3 r. P% [
- ; this value may still be overridden on a per-stream basis via the "capath"3 W0 N8 }/ ?& B1 V" Z+ ]) h, F% Z# o
- ; SSL stream context option.
$ x2 x1 W! Q6 s" F9 z - ;openssl.capath=
! }3 Q1 Z v# f; U
9 z5 J) e0 d' c& A% S- ; Local Variables:$ i' g; `' J7 P' v4 j" ?0 ~
- ; tab-width: 4) |$ f q b; p2 ~
- ; End:
$ |& a! ]; g% I: s. }) Z4 d - F4 ], d" u# W% ]
- ;eaccelerator H% L* u& Q5 {5 e
- : L; \. I j2 w. Y N
- ;ionCube
+ G1 E! c$ }4 i% i
h& O9 E& I/ f( y* l" N- ;opcache# d* K8 N. J; |+ m; s
- % a( E3 X m0 O
- [Zend ZendGuard Loader]/ o1 [* a" V( @$ y$ N! Y& Q; b
- ;php7 do not support zendguardloader @Sep.2015,after support you can uncomment the following line.& `9 V. n. w! F4 O# m+ m; h
- ;zend_extension=/usr/local/zend/php70/ZendGuardLoader.so( P- `3 `8 V: Q* C+ f7 N
- ;zend_loader.enable=1
2 k, U9 X( W0 T3 @4 R# h5 _% E - ;zend_loader.disable_licensing=0& k# ?$ P, R$ U
- ;zend_loader.obfuscation_level_support=3; ]& Q+ @8 w, |' d
- ;zend_loader.license_path=
6 P+ I3 T: v- T) E7 M) w% d
$ n; J7 v+ l8 I. ]* b5 v- ;xcache
' F u% v/ E$ _- Z
Q1 h1 g- \& k( j/ Y
复制代码 3 l/ |( i1 i( v( h
/ Y! ]1 L) S/ U4 U. i
y+ h Q$ X. D0 z: E: q/ j3 m e) e6 I* z |
: ]1 u: ~3 j% o3 a, E! H3 V5 T R% E1 Z7 T) ^9 l
" C2 t/ e! c- j( U; QPHP5.6版本原始设置+ B% ^' B% O# t1 q$ W. l
! x9 h0 `* D8 `% q* ~; O: s5 n
- [PHP]
2 J: ?( [% t+ w' q9 X5 `* E: X c - % n2 H6 W5 v& {3 u8 s9 f2 c% `% l' d' [
- ;;;;;;;;;;;;;;;;;;;
3 E! B4 U9 d, r# J - ; About php.ini ;
; G- u/ V' S6 d2 M* ]" @/ x - ;;;;;;;;;;;;;;;;;;;0 \3 Q! {8 T1 l" {0 |& k
- ; PHP's initialization file, generally called php.ini, is responsible for/ X9 Y+ u$ A) s- f5 X" L
- ; configuring many of the aspects of PHP's behavior.; Z( I$ j# {9 j
- ) F' _( D7 X8 J: D5 M: P
- ; PHP attempts to find and load this configuration from a number of locations.4 b, u0 p& V5 C/ J: V, v
- ; The following is a summary of its search order:
1 z+ i) \) ~4 U - ; 1. SAPI module specific location./ y# p/ H7 ]- z; v
- ; 2. The PHPRC environment variable. (As of PHP 5.2.0)
0 n" h9 u. h8 E$ t - ; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0)2 C3 y8 p5 o# b* P l
- ; 4. Current working directory (except CLI)
& ]6 S6 A- `2 b; k% L! C - ; 5. The web server's directory (for SAPI modules), or directory of PHP
]& [2 h/ g4 B `" B - ; (otherwise in Windows)
0 d" y& b- \, Y7 _$ N - ; 6. The directory from the --with-config-file-path compile time option, or the! \, V+ R1 R$ j. m
- ; Windows directory (C:\windows or C:\winnt)
3 |% z' ~8 q# L) @* F - ; See the PHP docs for more specific information./ h# r9 } x. t1 D. _6 X: Z2 e! S
- ; http://php.net/configuration.file
) i$ X/ j1 n3 k/ K
( z8 ?/ V9 R0 j& L- j$ t0 x- ; The syntax of the file is extremely simple. Whitespace and lines
# p% F( _! I' D& K2 y2 v - ; beginning with a semicolon are silently ignored (as you probably guessed).
" T& F( B! j4 T( Z5 a - ; Section headers (e.g. [Foo]) are also silently ignored, even though
% L9 O5 p# H- S- \ - ; they might mean something in the future.5 w F8 ?/ C# W4 \, N
# K) C' g# y/ S7 N9 A0 R- ; Directives following the section heading [PATH=/www/mysite] only5 h) |: @, _- {. e
- ; apply to PHP files in the /www/mysite directory. Directives5 h, S9 \: T4 e- d) G8 r
- ; following the section heading [HOST=www.example.com] only apply to
) D7 V8 m$ C3 z0 { - ; PHP files served from www.example.com. Directives set in these
/ E! _3 A8 S2 y+ o, Z, ~9 ~; S - ; special sections cannot be overridden by user-defined INI files or3 J. T: m* ]. y6 w: Q( g( c: O
- ; at runtime. Currently, [PATH=] and [HOST=] sections only work under
- q+ C( C3 h$ X/ y0 V3 M - ; CGI/FastCGI.
& H) n5 u6 ?; P- D' }. a - ; http://php.net/ini.sections' c, R1 U% L- m \
- ' u6 W6 Q3 \4 [# _- N
- ; Directives are specified using the following syntax:
( z! z( r# x# O0 v4 q - ; directive = value8 X" M) F- l5 q9 E0 c/ z
- ; Directive names are *case sensitive* - foo=bar is different from FOO=bar." @3 [5 k$ E) ^# O3 i) A! S
- ; Directives are variables used to configure PHP or PHP extensions.
6 V7 x- |$ k# _ U) e( u5 s8 e - ; There is no name validation. If PHP can't find an expected
6 \7 o) r; q O4 ]2 ? - ; directive because it is not set or is mistyped, a default value will be used.9 ^, I4 r- n/ `: @
- + D/ G! t1 T! h6 u0 j* c- D
- ; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one& d, z+ z. Q/ A! [( q! G) V
- ; of the INI constants (On, Off, True, False, Yes, No and None) or an expression
+ [) J+ x( i( m! T$ d- @( H. Q - ; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a
. { w! |1 Q, }3 s4 m0 n* p - ; previously set variable or directive (e.g. ${foo})* [7 @ V6 `) E: |- j1 B0 A
- 2 @% ]# W. [5 F& ?7 l- b3 q
- ; Expressions in the INI file are limited to bitwise operators and parentheses:
3 l2 p+ }5 g8 H( f @ - ; | bitwise OR' G' S" L* y6 k. H5 R& q
- ; ^ bitwise XOR
- X8 o( b: h9 e$ w - ; & bitwise AND1 Z) \) A. ^- Q( m' ?% E' H) J
- ; ~ bitwise NOT8 y1 \5 {! u& z7 ?: x
- ; ! boolean NOT
' c9 @& A% K6 l - 7 z5 f- O# d4 \, T6 Y9 [# Y c ?
- ; Boolean flags can be turned on using the values 1, On, True or Yes.
; @! I3 t* o: k7 ~4 y! Z0 g" A$ j0 q# O - ; They can be turned off using the values 0, Off, False or No.+ T7 i+ l- o8 }; K4 U
- 3 i7 q, ]; t& e; }* v7 j
- ; An empty string can be denoted by simply not writing anything after the equal
6 { D- q" y$ w - ; sign, or by using the None keyword:
$ n4 I$ N5 c( A- |9 }
& p j" h5 K4 J6 T9 G- ; foo = ; sets foo to an empty string
- w4 L1 k5 J0 Y+ |$ b3 ? - ; foo = None ; sets foo to an empty string0 J! Q; T+ j4 F0 ]( @; J! t, E [
- ; foo = "None" ; sets foo to the string 'None'& r) ~" H" u, _" A/ T
2 o1 }# l1 _: J P- ; If you use constants in your value, and these constants belong to a
& Q/ g/ [) |3 A% h, P - ; dynamically loaded extension (either a PHP extension or a Zend extension),8 T9 i3 j2 _; q) l, r+ J
- ; you may only use these constants *after* the line that loads the extension.
" `9 W8 w1 {5 O" G* x% N1 H - ! f" z8 N; r; B1 W; S
- ;;;;;;;;;;;;;;;;;;;; u0 i' d6 |& j2 [! ^; C; G
- ; About this file ;
0 n0 [4 u1 K7 l* ?4 p j - ;;;;;;;;;;;;;;;;;;;% |8 a/ r1 w9 y
- ; PHP comes packaged with two INI files. One that is recommended to be used
7 K) c. N, z* C( T5 a* A - ; in production environments and one that is recommended to be used in: C4 x/ F3 q6 O% c
- ; development environments.
) y, u0 X) ?4 U8 Z5 p) s
6 {: g2 H2 H& z4 t1 O" X; I) @- ; php.ini-production contains settings which hold security, performance and
A9 `7 D5 Z& n6 u1 H- a - ; best practices at its core. But please be aware, these settings may break/ g1 N( ]: U: N4 l8 ~/ g& ~- Q( u
- ; compatibility with older or less security conscience applications. We$ V V# x h8 z1 @
- ; recommending using the production ini in production and testing environments.
! V3 F: B8 P$ H* {& D - 0 j2 B# u3 \0 x- G7 p |: h
- ; php.ini-development is very similar to its production variant, except it is* [5 n8 I8 {. ^" k7 E1 U
- ; much more verbose when it comes to errors. We recommend using the, _. d) h5 t3 }9 L5 E" K, M
- ; development version only in development environments, as errors shown to# i2 ], B* w/ J1 I
- ; application users can inadvertently leak otherwise secure information.
; ?) F& o5 B) e7 z% ]' u( l, J - 4 Y! B$ _. J2 _6 G: G' P, ^
- ; This is php.ini-production INI file.
: Y# Q5 @5 B' C9 K4 G, U } - 7 w* x* i2 S: Y6 n$ P0 D/ ?
- ;;;;;;;;;;;;;;;;;;;
) n" S! g2 D* D( X) o& ^ - ; Quick Reference ;% c! Y' l8 a& P- r! m& L7 a p. X" R
- ;;;;;;;;;;;;;;;;;;;
& n* u9 m6 _( A- y" P - ; The following are all the settings which are different in either the production( G( ]4 B- t& _8 `# \# g
- ; or development versions of the INIs with respect to PHP's default behavior.
% T# h0 z. z# W - ; Please see the actual settings later in the document for more details as to why
# q8 ^4 @! a8 A; T/ s: H! F - ; we recommend these changes in PHP's behavior.) R0 M+ ]- }: G0 y. |, T
- 3 b! G& x% R- R8 V# B3 _
- ; display_errors
# O- | F4 Z" L, S: \/ i3 f- f g3 m - ; Default Value: On
# [: v( s1 H. w4 Y2 J& n - ; Development Value: On1 {5 J9 K0 v3 a: r! e$ X4 m8 \
- ; Production Value: Off
6 n4 u4 y0 M' g
5 p" X) d8 R! ~ M- ; display_startup_errors
7 X7 M1 a6 j6 b N# @+ F/ |/ A - ; Default Value: Off
# o. g' S0 [% n I - ; Development Value: On+ B7 Y0 s, g& A# S' D" g
- ; Production Value: Off
/ ]6 p) i& e2 d7 s) S - ( K3 N4 ^& X; ~9 r! N
- ; error_reporting7 t x& Y' m/ v; ?8 x) B$ d
- ; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED5 G) O, {& g' a( m8 T# ~
- ; Development Value: E_ALL
2 g ?: V. s6 b- H - ; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT, M( r0 E. _" }, b- p8 ?
3 _! w8 N- ~& j; b- ; html_errors2 N6 Y/ Q6 V$ Q8 z$ x D1 j- [
- ; Default Value: On& u+ d0 b# g* k. k& {$ G
- ; Development Value: On
: T( l m9 e( v/ a: L - ; Production value: On
7 \/ E0 h7 Y2 O r. m - 3 g1 u4 x5 d( Q, j
- ; log_errors M* g8 O6 ?0 l& O6 @! @
- ; Default Value: Off
9 h ^* a! T* `! C - ; Development Value: On: t& w8 }8 G6 X3 ?( X* r3 [ t1 t
- ; Production Value: On
$ p6 y$ x( d* m. j/ t- L- B
1 {& G% l0 Z% T( u) V* y. a- ; max_input_time4 C3 Y0 @3 X' P A) p8 ~: Q
- ; Default Value: -1 (Unlimited)0 M; g: M& m0 Z# I" a
- ; Development Value: 60 (60 seconds)6 [! C4 w7 c" b
- ; Production Value: 60 (60 seconds)1 g o- x9 e6 D5 n# W& e( H% ]
; ~. B' N, l N- ; output_buffering3 z) C7 h3 m8 f# D7 z
- ; Default Value: Off
8 e6 u/ f6 Q4 `" K: t. U! s - ; Development Value: 4096
8 D8 k; P2 a+ w$ v - ; Production Value: 4096
6 X( c# m7 Y0 \$ J; X2 s" N+ U1 y
# L, k4 y8 s7 J5 \# x) W- ; register_argc_argv) s: F/ K8 @7 ]% O. O& p
- ; Default Value: On8 N" t2 [5 Z4 F: p7 z1 f% t) z3 O$ d
- ; Development Value: Off, G- C# H: b. V* y8 c9 A
- ; Production Value: Off
2 l8 W- o0 l& d9 Q2 n7 ~! V
~" k2 X5 Q6 p2 g. i9 A2 O- ; request_order
1 I, R7 o4 _. |% r R1 C$ j - ; Default Value: None
4 O) D3 J' o- g+ \6 V6 |/ J( } - ; Development Value: "GP"
2 k% Z& z+ p! p/ }( {* U - ; Production Value: "GP"3 [7 x1 o5 p: o+ ~% r1 X
1 y0 x" \3 v1 S- H- ; session.gc_divisor
. v+ |/ m" a' _4 K - ; Default Value: 100# d# @. f5 T' V
- ; Development Value: 1000
5 B& Y5 O+ u* k/ [ - ; Production Value: 1000& e6 O D0 D6 g* }9 t! n
1 c0 Y/ o( |9 c. e- {1 x7 Q- ; session.hash_bits_per_character
2 G! s. L) s6 G - ; Default Value: 4
: c* ~5 k5 ~1 {# k( q. ^* n! S' T - ; Development Value: 5
! }! T5 ?1 l3 @+ o. b0 Y6 } - ; Production Value: 5
/ b! `! ~8 o0 ?: H+ `8 F
}3 n+ Y( L# f5 r4 c/ p- ; short_open_tag
Q o, Z" d9 A( R, c/ q I - ; Default Value: On# @3 R2 ]: ^; L5 a, _4 K# d
- ; Development Value: Off3 Z5 T* x# [5 V9 n7 m; L6 ?; {! o% q
- ; Production Value: Off0 S; `# R" L1 w- T& V) P) S
& f( `& C# @4 s1 Z$ E$ k9 ?# u- ; track_errors
% n5 e6 U! U' J" q6 D - ; Default Value: Off+ g* G3 ]0 ~' Y+ V9 [
- ; Development Value: On
Q4 T; j6 R' Y* r; b# \. E. H - ; Production Value: Off2 v& B7 a4 V M$ _
- 3 d6 P5 u! t( f- W+ p+ e
- ; url_rewriter.tags8 x5 i, ^' L9 Z" R. V
- ; Default Value: "a=href,area=href,frame=src,form=,fieldset="
: O' }1 A7 a# s' x3 A - ; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry": D2 w6 r' W0 Y7 q
- ; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry"4 k: b% q; Q1 \& K
- / F4 a J. F: l+ j& F. f# {
- ; variables_order
2 Y9 d) C1 p. l9 L! B! Q/ F - ; Default Value: "EGPCS"' [/ ]% O7 |' z
- ; Development Value: "GPCS"
( ^/ z' O+ m" z Q, ?5 @; p - ; Production Value: "GPCS"' |% b2 P W) f2 |5 v
, |1 V( Z: n- Z! r9 H3 N* c- ;;;;;;;;;;;;;;;;;;;;
9 {: ~0 H, S0 f% u7 y, @ - ; php.ini Options ;
/ _0 t9 d5 T! l* K+ f5 l0 {5 L - ;;;;;;;;;;;;;;;;;;;;4 U8 ~ e" N& }0 R: G
- ; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini"5 f3 S% C9 z: x8 F, Z& \* I
- ;user_ini.filename = ".user.ini"5 J, c% u2 H6 o4 }2 z/ e
- : F8 @ `" t" s4 z
- ; To disable this feature set this option to empty value
: f2 ?8 o) w) }3 L* }9 F% ~2 b - ;user_ini.filename =+ ]- C8 ?" Y! b; k+ ?" t; l3 r
$ ? P9 V, Y5 E0 q- ; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes)
" F& x( G j: _8 c" [# R - ;user_ini.cache_ttl = 300$ Z( z' T" ^( A q: A) n1 E
- " {# M/ v2 @8 i) h! _; ^6 k B
- ;;;;;;;;;;;;;;;;;;;;1 b: s- B# H, x
- ; Language Options ;
7 n* T: N' e4 S* l/ M - ;;;;;;;;;;;;;;;;;;;;" ~: V6 ?. a$ j8 J9 t& R! Y* a+ _
- , c& R8 x1 y% G9 H2 j! }& v! Z
- ; Enable the PHP scripting language engine under Apache.. j, n$ I2 r0 c/ t# T
- ; http://php.net/engine: Y0 t' B6 D; `% ]( y* P. P, `
- engine = On
( f3 L: ]4 c' M! Z* j+ T$ t - * F+ K9 Z8 n( V$ i
- ; This directive determines whether or not PHP will recognize code between2 V5 v8 d% S4 {( M# Q
- ; <? and ?> tags as PHP source which should be processed as such. It is
8 M' `1 V: I( w* a3 z5 ] - ; generally recommended that <?php and ?> should be used and that this feature
) s/ d1 l$ x0 a5 B - ; should be disabled, as enabling it may result in issues when generating XML
@2 z; g, z0 `: k2 S) e( l - ; documents, however this remains supported for backward compatibility reasons.
2 `, h8 D& E' X' A1 y; h1 @" L - ; Note that this directive does not control the <?= shorthand tag, which can be
* z: q: J% |8 u- A4 q - ; used regardless of this directive.3 i, k2 K8 s+ c8 a6 O7 g$ @0 n
- ; Default Value: On
* C6 y0 P J/ Y) ]/ G# n# K' M - ; Development Value: Off
3 p& e! K8 ?# @4 H/ F: y - ; Production Value: Off0 ^) b3 C# H) w8 G
- ; http://php.net/short-open-tag8 w$ ~# G# g8 L9 c. R
- short_open_tag = On( J, M1 |6 X- v8 Y5 r
% P6 X/ i: D8 W7 Q- ; Allow ASP-style <% %> tags.
+ H. ?8 E# v" h7 h# V; H - ; http://php.net/asp-tags
4 D5 r0 a5 r3 P1 C - asp_tags = Off9 E5 s+ Q# A5 z# ^
- 2 _& w$ Q8 Y3 a9 q, x
- ; The number of significant digits displayed in floating point numbers.
7 h" [+ ~7 o) a& Z4 @2 i - ; http://php.net/precision, H" {! q! |' K6 r
- precision = 14' Y# O& ^# M* e5 u& v
- 6 Z+ S2 S5 y( W$ b& l
- ; Output buffering is a mechanism for controlling how much output data
; k; ^; q- c. e' ] - ; (excluding headers and cookies) PHP should keep internally before pushing that) r1 I& r4 B5 K/ }
- ; data to the client. If your application's output exceeds this setting, PHP
8 J, C' J0 U7 o* r+ M8 x - ; will send that data in chunks of roughly the size you specify.% K+ | y9 M6 O$ V
- ; Turning on this setting and managing its maximum buffer size can yield some1 g! u6 x0 m6 D" z) M
- ; interesting side-effects depending on your application and web server.3 A1 B; q! X. v! i- Y& U" B
- ; You may be able to send headers and cookies after you've already sent output7 N8 o2 p1 [# [
- ; through print or echo. You also may see performance benefits if your server is
9 }- ~7 p: s2 W6 o - ; emitting less packets due to buffered output versus PHP streaming the output
: z8 Q5 R9 }& f! ~ - ; as it gets it. On production servers, 4096 bytes is a good setting for performance: ^5 I% I1 `" d [
- ; reasons.. V2 \: w- C; N. v! G
- ; Note: Output buffering can also be controlled via Output Buffering Control
* ^6 f/ L+ a- m" e5 {3 h' b - ; functions.
1 U$ G' v, ?; y6 k5 n$ X4 ]4 A - ; Possible Values:! D3 ~2 g- V, `5 _
- ; On = Enabled and buffer is unlimited. (Use with caution)
6 l& C/ n m6 G5 _. p - ; Off = Disabled f! i( K# C& ]% S$ W6 u
- ; Integer = Enables the buffer and sets its maximum size in bytes.' C% ^/ f* n: E D
- ; Note: This directive is hardcoded to Off for the CLI SAPI
; E9 r# h# ]2 g2 f8 m - ; Default Value: Off
/ H% F) n9 o y4 B' W% _ - ; Development Value: 4096, C; ]% ^$ ~7 F3 T
- ; Production Value: 4096
9 ^8 ^1 g+ B- b* G - ; http://php.net/output-buffering9 v' C6 I; w5 P% a
- output_buffering = 4096
" b/ K5 E' @, H0 R3 d6 O
- X% K9 w' v0 F. B8 o# T7 \- ; You can redirect all of the output of your scripts to a function. For! E6 D- J7 W; ^: h/ w
- ; example, if you set output_handler to "mb_output_handler", character+ S' f; \ F6 X5 `4 v
- ; encoding will be transparently converted to the specified encoding.
3 a+ Z, g% n7 i. B9 q' b/ i2 ` - ; Setting any output handler automatically turns on output buffering.. Y' u6 O) z5 z1 z1 `! ]
- ; Note: People who wrote portable scripts should not depend on this ini
; O( I) s$ U2 G# i; a5 M - ; directive. Instead, explicitly set the output handler using ob_start().3 n! f: ^! |- }; S! T
- ; Using this ini directive may cause problems unless you know what script5 W4 m) ]8 {# v X9 @- P
- ; is doing.
+ C6 L1 X5 @8 C) X; [: Q/ \ - ; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler"
0 F, i' Y; r" i Z: u/ C - ; and you cannot use both "ob_gzhandler" and "zlib.output_compression".
) X# ^6 x) }3 ~. m - ; Note: output_handler must be empty if this is set 'On' !!!!- f% V4 E( G: E8 c/ |6 O, V
- ; Instead you must use zlib.output_handler.
9 c( }) s3 ^1 I8 m; _$ i - ; http://php.net/output-handler0 a. u( d7 H$ h
- ;output_handler =
6 {. H3 K6 d s. P - : f0 D2 b' `( d9 ^; `1 ]" `) z
- ; Transparent output compression using the zlib library1 m8 ]- y' A6 |* ~5 W9 h% E5 v
- ; Valid values for this option are 'off', 'on', or a specific buffer size' q/ T: J/ _4 y" p
- ; to be used for compression (default is 4KB)
( D- X3 }4 [/ P6 J& @ - ; Note: Resulting chunk size may vary due to nature of compression. PHP* i& B; X, U+ ^! [
- ; outputs chunks that are few hundreds bytes each as a result of
! X3 V" O2 o" G - ; compression. If you prefer a larger chunk size for better5 ~* g6 M" p) @* P: d& d
- ; performance, enable output_buffering in addition.
, S) d, v; J5 |+ z+ o# J - ; Note: You need to use zlib.output_handler instead of the standard
7 T/ x, J1 h$ S - ; output_handler, or otherwise the output will be corrupted.
8 R. D8 C5 v6 m0 |$ h9 d - ; http://php.net/zlib.output-compression. j7 H1 {6 G$ s, r9 R5 W
- zlib.output_compression = Off
8 r0 _4 D1 G. ^, `; D; i" N4 [ - ) A* O( K: S3 `6 o% \
- ; http://php.net/zlib.output-compression-level
8 ]1 m' ?9 I& D8 Q/ ` - ;zlib.output_compression_level = -1
+ c+ ?6 l4 ^) ^( Y - ' a9 r/ j0 c+ @( L- ~6 S
- ; You cannot specify additional output handlers if zlib.output_compression
. [6 ~3 p7 F- @8 X3 V) N/ | - ; is activated here. This setting does the same as output_handler but in
3 L- T$ \1 t& }; _$ ?" a, m) } - ; a different order.
+ T' y2 m; m+ m6 E" f* s; W2 S0 j - ; http://php.net/zlib.output-handler
2 o( C% G3 M$ `7 \, u+ r) \' c/ A - ;zlib.output_handler =9 l1 v) J R G/ Z" R0 f
( y- y/ S0 ]6 j# H- ; Implicit flush tells PHP to tell the output layer to flush itself
' B& b3 @+ H; } Q' k/ L' R - ; automatically after every output block. This is equivalent to calling the- g+ p% P7 k5 m8 Y
- ; PHP function flush() after each and every call to print() or echo() and each
+ g9 _, _& `0 x. |5 O - ; and every HTML block. Turning this option on has serious performance
- e' s; m# \$ N% r - ; implications and is generally recommended for debugging purposes only.
: `9 q& d3 C9 H- x6 E% \% O1 P - ; http://php.net/implicit-flush1 X$ u6 }9 [. q
- ; Note: This directive is hardcoded to On for the CLI SAPI% X9 {$ e5 W- x) \5 M
- implicit_flush = Off
* H& m _% z/ S" X( e/ f6 b - # I, K/ Q: C1 s0 V/ O, O d
- ; The unserialize callback function will be called (with the undefined class'
- d1 j' u, e) |1 {/ f - ; name as parameter), if the unserializer finds an undefined class/ l' n7 S- l, y2 D' [' i
- ; which should be instantiated. A warning appears if the specified function is
2 u3 H$ v" T0 ]0 N - ; not defined, or if the function doesn't include/implement the missing class.
0 b+ b, r0 Q6 B- e - ; So only set this entry, if you really want to implement such a7 `& F0 y8 B/ I# x b i! _
- ; callback-function.
; c9 A; M5 l; I3 d2 O& h - unserialize_callback_func =0 P8 @/ A0 a2 Q2 }1 I6 H, A! U/ N
- - R9 V* U3 @' d7 W: L3 O
- ; When floats & doubles are serialized store serialize_precision significant
' k1 G; I4 L4 O$ ?, i7 e7 c, r+ E - ; digits after the floating point. The default value ensures that when floats
" u* I$ S' c4 ^- H - ; are decoded with unserialize, the data will remain the same.! t$ g$ |* H7 i5 i
- serialize_precision = 175 W+ C/ J' g5 j
- 6 U( i* K# H9 W
- ; open_basedir, if set, limits all file operations to the defined directory
) q1 x5 K, C" X' D2 o; ]% x* E- L" a - ; and below. This directive makes most sense if used in a per-directory
# k7 t; o1 C4 `$ G3 Y - ; or per-virtualhost web server configuration file.4 I. n$ p% c9 w2 c3 f) b
- ; http://php.net/open-basedir
4 P) \5 V" g; w8 F# |# x - ;open_basedir =
: L4 K" {/ @# r8 i% w! O( t( L
% O/ ^# H# s# I- ; This directive allows you to disable certain functions for security reasons.' q' W7 g6 r4 j# j
- ; It receives a comma-delimited list of function names.
; e( G: f0 t4 h2 f: x! y8 q - ; http://php.net/disable-functions% ?# H9 S1 Q6 R: o8 ]& c( S/ }
- disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru
/ S# `" a n2 }; y1 v - 0 Y# a, N3 g" h0 z+ N+ s$ G
- ; This directive allows you to disable certain classes for security reasons.
& A' I1 j! S& y - ; It receives a comma-delimited list of class names.: ?- j7 i6 r6 g, t5 M
- ; http://php.net/disable-classes
+ d T8 m1 f" s5 p# K" j9 ^( a - disable_classes = G. P& S$ e+ t+ A( u" q" u( Q
2 {: C# G' L! W; n- ; Colors for Syntax Highlighting mode. Anything that's acceptable in
' x& O$ Y+ I, _1 H - ; <span style="color: ???????"> would work.
v- v8 F: n& d* _3 } - ; http://php.net/syntax-highlighting, `# j* d, Z! A) p g2 r6 k
- ;highlight.string = #DD0000
' l+ \, h* U2 K/ Z1 C - ;highlight.comment = #FF9900
1 S* c( ?, x, Q# a* o$ I% a5 ~ - ;highlight.keyword = #007700
' u% E( x/ q6 {! @: l - ;highlight.default = #0000BB
( k4 {" c4 i, K4 ]5 _& i& V/ e: G - ;highlight.html = #0000002 P( A7 H/ J8 N/ B6 C3 O* H
% H6 J9 b, B( E7 @- ; If enabled, the request will be allowed to complete even if the user aborts
" f( x2 i8 a7 J! H6 a - ; the request. Consider enabling it if executing long requests, which may end up. j0 g9 L! ~# b0 ]" S
- ; being interrupted by the user or a browser timing out. PHP's default behavior
; c! }6 O6 H! j7 Y4 n. y - ; is to disable this feature.) e4 y* F/ `0 L5 r& o8 \. U, W) ~0 |
- ; http://php.net/ignore-user-abort r5 a$ J r! ? s G- q* W2 C! E4 }
- ;ignore_user_abort = On
& v) s( c% ]: ]+ v& [% w3 p - * V( [, }9 M' b. b0 B! n( q
- ; Determines the size of the realpath cache to be used by PHP. This value should% ]& [! R) h+ K: x. {. V& u, ]
- ; be increased on systems where PHP opens many files to reflect the quantity of c" ~2 K6 v- s, l6 O/ x5 l- f+ b
- ; the file operations performed.7 o/ J) B9 f& j f5 \8 N8 N
- ; http://php.net/realpath-cache-size
; L8 i2 r t0 e" N6 Z# d7 a - ;realpath_cache_size = 16k3 k- h: a: f" }; R
$ }" Z; T5 X& h% u! u. v; c+ }, x1 E- ; Duration of time, in seconds for which to cache realpath information for a given
* b& ]3 S f+ K; f! x9 n - ; file or directory. For systems with rarely changing files, consider increasing this3 R: ?6 v; e: r% v( h( A* _1 S; a# i5 k
- ; value.( A3 Z& {# ^% q3 u* g# T
- ; http://php.net/realpath-cache-ttl
: [; E8 V d9 K6 f - ;realpath_cache_ttl = 1206 ~! _( N2 G( o, y8 W' ?* z; y
- ) B" {8 {+ E l, u% b# g- j- t. w/ D& o
- ; Enables or disables the circular reference collector.! u, d0 _0 G& N. U
- ; http://php.net/zend.enable-gc4 i! F' e' I3 P7 w5 j ~
- zend.enable_gc = On& m' n1 D e) ?4 e0 B6 P
- E, n& w* O) `. r# `; [2 d
- ; If enabled, scripts may be written in encodings that are incompatible with& G! @8 c( L' Q$ c( ^
- ; the scanner. CP936, Big5, CP949 and Shift_JIS are the examples of such: b' K( w) y" z0 p$ ?0 P- Q
- ; encodings. To use this feature, mbstring extension must be enabled.# }, M8 |' C& g. A
- ; Default: Off
" z8 G+ j+ f& k% @ - ;zend.multibyte = Off
; k5 @7 W' e [( T
- Z9 K, S* c' V4 G1 g+ V7 U- ; Allows to set the default encoding for the scripts. This value will be used
- ?. r' M- f' \) S0 [ - ; unless "declare(encoding=...)" directive appears at the top of the script.
' H% m' h+ H: O' {: F% H - ; Only affects if zend.multibyte is set.' h! a- m- y2 \ L/ {. Q$ n- C
- ; Default: ""
2 Z. D$ g/ {# u8 y - ;zend.script_encoding =
* d) E& W& V. s" P - # l% i# V z% j
- ;;;;;;;;;;;;;;;;;3 {9 z9 H. p6 d! F. K, }) Q3 e
- ; Miscellaneous ;
3 w8 M7 Y# r2 w3 R. O' }# O6 ~! d; ~ - ;;;;;;;;;;;;;;;;;
7 v6 U# B6 k5 k" R- z9 I8 f - * s: G3 h9 z6 F( \; R
- ; Decides whether PHP may expose the fact that it is installed on the server
) S$ k) K9 I* \1 g% D# x - ; (e.g. by adding its signature to the Web server header). It is no security
" l" Q- r1 g2 L. o+ D - ; threat in any way, but it makes it possible to determine whether you use PHP( m8 J1 X/ Y; q# z$ a$ k
- ; on your server or not.+ d* P( s0 E" X5 A+ X/ D3 k
- ; http://php.net/expose-php# @0 Z. r: ^5 f5 d7 ?" T* y" R* f
- expose_php = On
( N. T1 U* W3 |$ R
( X; i8 d D% Z; ]" y' Z, I! @- ;;;;;;;;;;;;;;;;;;;
* G2 v) j( T; A k4 T0 G - ; Resource Limits ;/ P1 b$ z. V/ E! C$ t( W. O
- ;;;;;;;;;;;;;;;;;;;( x' S2 T4 [8 m+ O5 J
2 }0 d8 I4 s9 D4 G3 V% F- ; Maximum execution time of each script, in seconds: K7 {3 J9 G$ D6 k0 O$ {4 [
- ; http://php.net/max-execution-time
( h/ k9 [8 Q) t( ^; k7 Q5 ? - ; Note: This directive is hardcoded to 0 for the CLI SAPI
) I4 Q$ p, c$ w o4 L) k - max_execution_time = 300
3 q# k {! s1 ?. q1 a - 8 E# _) G5 W% z6 D3 [" W
- ; Maximum amount of time each script may spend parsing request data. It's a good
" p$ _( }* L4 g4 `2 j g( Z - ; idea to limit this time on productions servers in order to eliminate unexpectedly) F6 h- C0 K( m/ @. m+ L8 [ B
- ; long running scripts.
7 I; b+ L1 p# }8 L/ g. Z7 G! @ - ; Note: This directive is hardcoded to -1 for the CLI SAPI
7 E+ M& b1 L* g3 G1 ~1 m4 W - ; Default Value: -1 (Unlimited)
: a/ O3 q/ z5 b& e: v - ; Development Value: 60 (60 seconds)4 {) r$ H/ }+ J7 }' I3 s
- ; Production Value: 60 (60 seconds)
" I" g D9 t8 s% B, K9 ^+ c& Y5 O7 W - ; http://php.net/max-input-time i$ W3 R' d1 F
- max_input_time = 60 W# V1 F4 Y2 x6 ]0 ]7 V3 f
0 ~1 V+ |; x2 @" f5 O" T- ; Maximum input variable nesting level
( x% ~9 l4 b0 y; @ - ; http://php.net/max-input-nesting-level0 }! {/ s3 ]% y
- ;max_input_nesting_level = 64
" L; I6 `: x) u% s4 w" H4 ?7 Q - , w# X1 n% K- U0 t F
- ; How many GET/POST/COOKIE input variables may be accepted
+ k" \$ B' g3 E9 r- v- r, N - ; max_input_vars = 1000
; E) E X2 P, T9 J6 h# R
' o+ N% J& V2 U& f K% Z- ; Maximum amount of memory a script may consume (128MB)
! q* v6 K2 O. I8 I6 U) Z - ; http://php.net/memory-limit
- P* n; \9 @1 Z7 g! |9 y - memory_limit = 128M
# n, S. I, @( A6 X# V& \$ @
' k' Y3 I# i: D1 t# h7 H$ [2 R3 u- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6 k( w k+ g$ {, v
- ; Error handling and logging ;
) i3 ^% ?2 g' F: C& H1 |3 D - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- O8 K8 o: }8 @$ ]* r4 W - 1 d- F1 {. k2 t# n% T
- ; This directive informs PHP of which errors, warnings and notices you would like9 _/ U6 c6 ]; a3 W2 K! S' {* H
- ; it to take action for. The recommended way of setting values for this
; q$ q( g; E: `6 G$ | - ; directive is through the use of the error level constants and bitwise d+ P' V; @$ Q; M( w" e& C0 E3 M
- ; operators. The error level constants are below here for convenience as well as F6 w9 [% n' W
- ; some common settings and their meanings./ j, s, ]& Q7 { ^" b
- ; By default, PHP is set to take action on all errors, notices and warnings EXCEPT
+ t0 U* J5 D- v- b# B4 C% h - ; those related to E_NOTICE and E_STRICT, which together cover best practices and
, @8 \! H5 H/ r - ; recommended coding standards in PHP. For performance reasons, this is the
9 J9 s6 T! ^* ?2 x1 |1 Y4 ? - ; recommend error reporting setting. Your production server shouldn't be wasting
* I' {- J% K0 w# Y* u+ @7 V - ; resources complaining about best practices and coding standards. That's what/ X$ `: ]" P; ?: M$ `3 l
- ; development servers and development settings are for. N9 i( c6 V9 P/ ]! h# l/ V5 Y
- ; Note: The php.ini-development file has this setting as E_ALL. This) n6 E; q9 N" U; n& l* Z9 @; d
- ; means it pretty much reports everything which is exactly what you want during9 D3 j2 K* C# a$ W# q$ G; g( g& x- J
- ; development and early testing.* s; Q+ `2 M. L) N6 z
- ;; r T( i; P) P
- ; Error Level Constants:
; U J: q- ~" m+ E* @8 P - ; E_ALL - All errors and warnings (includes E_STRICT as of PHP 5.4.0)
$ L7 S% [) B" H, ^4 L% k - ; E_ERROR - fatal run-time errors1 w* t1 l! I/ y+ r- t5 z) S1 ~( S
- ; E_RECOVERABLE_ERROR - almost fatal run-time errors
% K& \8 k, W& B$ v( o: W, @ - ; E_WARNING - run-time warnings (non-fatal errors)
- P9 v, h0 |- c+ c9 M - ; E_PARSE - compile-time parse errors7 |. s7 \* }4 h& r2 f c3 e |8 U
- ; E_NOTICE - run-time notices (these are warnings which often result' E( ]" |+ j& \ V- J
- ; from a bug in your code, but it's possible that it was$ K6 X" M* l& x5 c
- ; intentional (e.g., using an uninitialized variable and
! k& k E& C8 F - ; relying on the fact it is automatically initialized to an
- T- I( t! E7 Q, x7 e - ; empty string)
/ H9 P. f; H9 K - ; E_STRICT - run-time notices, enable to have PHP suggest changes
7 [; d9 c* L" V* \ - ; to your code which will ensure the best interoperability0 U, q4 i7 J3 E4 u3 u( B
- ; and forward compatibility of your code5 T3 z2 {+ S; e" j% `5 `' j% k
- ; E_CORE_ERROR - fatal errors that occur during PHP's initial startup
3 }7 C) L; H/ G: P - ; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's
" U5 s% `3 ?6 O - ; initial startup3 _/ U& M* n# A, w' a( M8 B
- ; E_COMPILE_ERROR - fatal compile-time errors: s4 a ]" Z" N7 @
- ; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) ^ A* h1 d [- l" F. u: Z
- ; E_USER_ERROR - user-generated error message; Q% U% m% m0 S3 y) n, h0 i$ @! S
- ; E_USER_WARNING - user-generated warning message
' M/ e- F9 ^' s3 N* _# X - ; E_USER_NOTICE - user-generated notice message j: ~) ^* b8 v4 O1 \
- ; E_DEPRECATED - warn about code that will not work in future versions
) a* g ]2 @. ]( W - ; of PHP0 }! [: T! F' Z6 a- ^& D' F
- ; E_USER_DEPRECATED - user-generated deprecation warnings, E" A' [( ~+ z) D8 N
- ;, F9 ? _7 y3 h+ W0 }
- ; Common Values:/ l' l+ s" c: W7 ~- T
- ; E_ALL (Show all errors, warnings and notices including coding standards.)! R, T9 [4 e3 A- h+ @7 C
- ; E_ALL & ~E_NOTICE (Show all errors, except for notices)
8 a4 W9 t7 k, r$ _% D. a- D- A - ; E_ALL & ~E_NOTICE & ~E_STRICT (Show all errors, except for notices and coding standards warnings.) t% t9 p3 e3 ?: o
- ; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors)3 B; R9 J9 y! \; O
- ; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
; C) A& d e8 j1 P4 v5 g1 x+ N- G - ; Development Value: E_ALL
% g# v+ o) t8 n - ; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT4 `' E( a9 i3 h% }
- ; http://php.net/error-reporting
- L9 n N& Q- b. g" ?5 j! L5 ^1 B - error_reporting = E_ALL & ~E_NOTICE
/ d) F$ O1 V- F4 ^
, W1 K- z+ _4 g7 R- ; This directive controls whether or not and where PHP will output errors,
6 K* S/ K, j Q8 C- h ^ - ; notices and warnings too. Error output is very useful during development, but
- u( X0 \- _& u! e: @ - ; it could be very dangerous in production environments. Depending on the code
, ^/ K& ?! G& T- [ - ; which is triggering the error, sensitive information could potentially leak, t$ w5 u, S% z& l! N2 y4 X
- ; out of your application such as database usernames and passwords or worse.1 g& L; M# ], `6 G: t2 e
- ; For production environments, we recommend logging errors rather than) i+ c- Q% o( x- C+ S3 y% V) _2 Y
- ; sending them to STDOUT.$ ~& f6 D' @' ^3 M6 k; ]( s
- ; Possible Values: m/ u: {6 ^! r* ~8 I
- ; Off = Do not display any errors8 J5 A" i _! w- o/ M0 E
- ; stderr = Display errors to STDERR (affects only CGI/CLI binaries!)
6 q, A! {7 w+ H - ; On or stdout = Display errors to STDOUT
" D2 j# y6 N) w$ t$ y1 h7 B - ; Default Value: On% {! g+ {! o! Q9 @4 g
- ; Development Value: On
0 F# d. ]/ W; K1 f. W - ; Production Value: Off
' ]& A+ @1 n; x. d - ; http://php.net/display-errors
& }% j; |% }' ]* c - display_errors = On
% A7 ? y) ^1 Q( Q - 9 {5 E+ g& i( }4 V1 ^& L) f2 ?3 C) m
- ; The display of errors which occur during PHP's startup sequence are handled
9 t3 o# I: H9 F, G4 q4 h - ; separately from display_errors. PHP's default behavior is to suppress those; L! K1 |. r/ L: e% g
- ; errors from clients. Turning the display of startup errors on can be useful in& ?# S& Y% N2 ~. E, @
- ; debugging configuration problems. We strongly recommend you, `$ Q( o0 N1 o1 T7 F2 [8 j
- ; set this to 'off' for production servers.
- I3 {, o5 R, b& R* E0 r - ; Default Value: Off
) `0 _7 l5 p4 T' S( { - ; Development Value: On
5 _) m+ {7 e; W& F Q - ; Production Value: Off! j1 T! h2 J m! I; j% _
- ; http://php.net/display-startup-errors
$ I/ p, z; J# S - display_startup_errors = Off. T$ M$ u; |4 S+ ?' O
- $ q- w7 h) |: e% ]
- ; Besides displaying errors, PHP can also log errors to locations such as a M7 y" r$ P/ k$ N, L
- ; server-specific log, STDERR, or a location specified by the error_log1 f& L, {" l* f. f
- ; directive found below. While errors should not be displayed on productions, r0 {: ~1 n) `7 d& V7 b' u
- ; servers they should still be monitored and logging is a great way to do that." o. W5 ~+ S6 T; g
- ; Default Value: Off. T5 f+ J# k Z- b: c
- ; Development Value: On
$ v+ \7 g U( _7 Q - ; Production Value: On7 F! `% Q% O) m, D" r" Z6 L
- ; http://php.net/log-errors
6 ]" ^8 {! R& v+ I* O6 x- z3 i. E - log_errors = On
$ A2 g; ~6 |7 E* M/ u* s/ F
4 H* T, z, m) X& C' M- ; Set maximum length of log_errors. In error_log information about the source is: w* v) ]( H: b: _; _
- ; added. The default is 1024 and 0 allows to not apply any maximum length at all.
5 F( _% t' Q. \5 `: o% L8 M( w6 P h - ; http://php.net/log-errors-max-len5 v7 ~2 D, \( ?) I
- log_errors_max_len = 1024
) h, F+ x! n, c( s - 9 ]/ z/ ?9 @/ V6 i5 E
- ; Do not log repeated messages. Repeated errors must occur in same file on same
0 |" Z5 U6 y, x. r- ^ - ; line unless ignore_repeated_source is set true.3 T2 ^1 m- g1 q
- ; http://php.net/ignore-repeated-errors& C( s+ F' G/ [* t
- ignore_repeated_errors = Off
9 c% c0 M- e* e; b5 a - U' O( h$ D( m5 o; o0 B5 C4 k) Q* {8 j
- ; Ignore source of message when ignoring repeated messages. When this setting' T4 }- ?" i3 H2 b" f. x2 R
- ; is On you will not log errors with repeated messages from different files or8 D2 o% d; H4 C: v1 }
- ; source lines.
, M* g q( Z* |9 ~# c" }4 u - ; http://php.net/ignore-repeated-source
. w$ f# `+ [" n+ Q! l9 k/ `$ c! m - ignore_repeated_source = Off
, e6 B% {. r' w' |
( ~ y: [$ r( ?- ; If this parameter is set to Off, then memory leaks will not be shown (on
% {, ?; R+ r1 @ - ; stdout or in the log). This has only effect in a debug compile, and if7 f. n$ o" h/ d4 k* N0 I
- ; error reporting includes E_WARNING in the allowed list
2 c6 K" `7 E2 l- S - ; http://php.net/report-memleaks! j6 Q# F+ X; ]; t
- report_memleaks = On
! @- ]% F/ `1 J% p: \. u/ p3 ?" [
9 d5 D- |) K# T& q) ~1 V& h% p- ; This setting is on by default.6 ^1 n4 U9 `& K0 [* C
- ;report_zend_debug = 0
' W$ s! M& S2 W# Q. o0 C- ?' b - 5 ]3 s. H( }4 ^6 \9 s
- ; Store the last error/warning message in $php_errormsg (boolean). Setting this value3 S3 Y: Y) B) n8 n
- ; to On can assist in debugging and is appropriate for development servers. It should
8 L6 w* o: n- X# Y) ?. y - ; however be disabled on production servers.
, ?, w; ^+ }( O& Q0 g - ; Default Value: Off
# \* i5 @6 l4 m" l - ; Development Value: On$ f1 |, J8 R) j1 F8 E: \: V1 V+ Z
- ; Production Value: Off
& A* `3 p! a5 e9 a- J - ; http://php.net/track-errors
V$ L r! S6 X8 V6 T - track_errors = Off- ~! l1 t1 F4 o+ U2 b0 h8 v
0 I) Y6 |: A2 _* Y7 T- ; Turn off normal error reporting and emit XML-RPC error XML
3 f! E9 {. j, B5 V" }0 V+ }" K - ; http://php.net/xmlrpc-errors
! L# Q( @% W s3 D4 D2 R - ;xmlrpc_errors = 0# w% z! |1 d; s1 a& n7 @
! Y# `7 R) p& h- ; An XML-RPC faultCode, N; Z" h" \) `0 q! w2 G# ^
- ;xmlrpc_error_number = 03 _, F# M& L6 n( A1 Y! C: e2 c
: z0 K' s0 q% u- ; When PHP displays or logs an error, it has the capability of formatting the
, ~+ W0 }) h% f; T7 Q% B2 [2 |4 E - ; error message as HTML for easier reading. This directive controls whether: O [6 ^$ v; \( O
- ; the error message is formatted as HTML or not.
0 k) @ d* P" W2 H - ; Note: This directive is hardcoded to Off for the CLI SAPI
! B1 \) M) V0 T$ P - ; Default Value: On. }* K" g0 s' `! E+ T
- ; Development Value: On9 A6 K- D6 b. J
- ; Production value: On
1 I& h" I- K( x4 ]) x2 b - ; http://php.net/html-errors' ]" L1 t4 J6 h6 B( Y7 n8 ]* V
- html_errors = On
: X- S- u; h+ s" b; }+ R - , F7 ~ y# u2 n" s1 _/ P/ C- U
- ; If html_errors is set to On *and* docref_root is not empty, then PHP
% A: R3 V2 M$ q0 l/ |) b - ; produces clickable error messages that direct to a page describing the error2 r- o& s5 L$ T7 f7 b
- ; or function causing the error in detail.$ t& n8 v; @$ w+ B9 c! e
- ; You can download a copy of the PHP manual from http://php.net/docs. P) U! B3 ^; V- i' R
- ; and change docref_root to the base URL of your local copy including the4 i: a2 K( W( {' c3 G
- ; leading '/'. You must also specify the file extension being used including
* a( G+ S7 N* @+ U - ; the dot. PHP's default behavior is to leave these settings empty, in which
q* A1 K+ P3 Z y5 P0 U - ; case no links to documentation are generated.& z. U8 o! w1 d3 H. D% e! r/ x- [
- ; Note: Never use this feature for production boxes.
' F% D7 O+ T4 G+ O2 S8 V - ; http://php.net/docref-root8 e( f! a! p( w
- ; Examples* h0 U& v |3 D
- ;docref_root = "/phpmanual/"
2 f6 `7 G! @, J6 ~ - * \: I1 a1 v) L7 f* o5 r/ a" }
- ; http://php.net/docref-ext/ W8 y2 M2 Z( s* I
- ;docref_ext = .html* Y+ C5 Q0 P+ f8 z* m+ f
* p r m8 A, t/ m1 A* ?6 F' x- ; String to output before an error message. PHP's default behavior is to leave9 |4 F r% Q% r. b O! p" Y4 M
- ; this setting blank.6 T, f7 `( K- d/ p ?% h( o
- ; http://php.net/error-prepend-string) p5 B6 r- k8 x3 c. d9 P$ W7 ?5 b
- ; Example:
1 h, J. R2 v0 H* w9 K- T) Z - ;error_prepend_string = "<span style='color: #ff0000'>"' U- w+ }: m x* C8 S3 T
9 }$ W6 s: g* l' F: _- ; String to output after an error message. PHP's default behavior is to leave0 ? K% R7 v: x
- ; this setting blank.
& Z) u& H d) Z% w2 T - ; http://php.net/error-append-string
9 a3 I8 l* S4 k+ o! v, W, I( t - ; Example:
! U" s* i0 p8 i ^, [6 c6 O; R/ E - ;error_append_string = "</span>"7 c9 {1 z" |* m' c) X7 X
: x5 d' u$ v X8 G7 `- ; Log errors to specified file. PHP's default behavior is to leave this value5 J# d( Q/ W# r. c
- ; empty.
4 D. [ C5 d4 }: u - ; http://php.net/error-log+ }! d4 S& x+ J- S
- ; Example:
3 i% E" m1 I8 s \" e - ;error_log = php_errors.log
, F* R! H8 a! I - ; Log errors to syslog (Event Log on Windows).( W1 J1 @/ h3 }/ ]* P3 \4 ~
- ;error_log = syslog- L8 u T& w4 [
- + R2 c9 a/ K+ _6 h" ~! r" @' S5 W @
- ;windows.show_crt_warning
; c" O# K% Q, j3 t4 } - ; Default value: 0) ?, r* u. N% |! e$ K- z
- ; Development value: 0
' W* b7 S6 d% m, t9 q* e8 ~ - ; Production value: 07 }( ~# `4 |& r; h+ l, i
- , V( g+ k {# g2 |+ ?
- ;;;;;;;;;;;;;;;;;
- j4 [, D. l U) ^6 R/ k7 z) j - ; Data Handling ;
+ R' s7 g% |" e, Y' k - ;;;;;;;;;;;;;;;;;* W+ {2 Y2 _1 n$ u* [
- + R, }' q) ] H; I6 v
- ; The separator used in PHP generated URLs to separate arguments.
/ X$ |% q5 A. c - ; PHP's default setting is "&".( E5 C) w; V t
- ; http://php.net/arg-separator.output2 s4 |9 L: `" Q+ b$ x1 o) r
- ; Example:( T: p7 W9 e/ R6 e6 X, X& R
- ;arg_separator.output = "&"
1 a4 L4 O# Y# W; D
) H, O1 s3 k4 L8 [2 f; K2 {; E- ; List of separator(s) used by PHP to parse input URLs into variables.
4 ]' k3 { e6 }4 f' g - ; PHP's default setting is "&"./ Q) z7 ~+ T8 z" }5 p" ~
- ; NOTE: Every character in this directive is considered as separator!6 s% F( [( J4 b; y
- ; http://php.net/arg-separator.input
" l, B4 {: e7 F& A - ; Example:! M. |3 o: H! f' [. K3 f. w/ s
- ;arg_separator.input = ";&"
8 |' R! T! c3 e) m
, P% ]6 S. I/ a7 h- g, N- ; This directive determines which super global arrays are registered when PHP; `2 J- e* w! \8 q% q
- ; starts up. G,P,C,E & S are abbreviations for the following respective super/ V& O3 O& J9 W/ R9 c( W
- ; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty
3 x( V0 `# {$ r - ; paid for the registration of these arrays and because ENV is not as commonly
. t6 H3 _2 `: r" N" V - ; used as the others, ENV is not recommended on productions servers. You
. x, V/ o$ J4 \; _) M2 b8 ~: @ - ; can still get access to the environment variables through getenv() should you$ I/ q1 ?& Z5 O
- ; need to.
" ~9 P( t( D& }% s2 z - ; Default Value: "EGPCS"
/ c' P7 B* T5 J% s) C - ; Development Value: "GPCS"; s n' y+ Y0 X6 A t0 Z' F
- ; Production Value: "GPCS";
3 a$ s& E' {( s5 S5 I# }4 M - ; http://php.net/variables-order
& r. w M, }1 P% n - variables_order = "GPCS" h' U6 d& P3 P [
% e! o, f, O; J- ; This directive determines which super global data (G,P & C) should be
2 s, R* T/ S8 s8 q5 r - ; registered into the super global array REQUEST. If so, it also determines
) {; x! c* V. A( m S9 E - ; the order in which that data is registered. The values for this directive' i7 M# Y# E( s( |
- ; are specified in the same manner as the variables_order directive,3 A5 |6 w( j' A8 o+ G+ P* F
- ; EXCEPT one. Leaving this value empty will cause PHP to use the value set* p [& C% c+ i$ E- \3 w6 h. `
- ; in the variables_order directive. It does not mean it will leave the super v, D# _. g. T3 R+ R
- ; globals array REQUEST empty.
9 U) R6 N7 H8 r. c) O - ; Default Value: None
6 b; r. {4 s8 k4 T! Z# T* p6 A - ; Development Value: "GP"+ E7 d( h) Q5 R
- ; Production Value: "GP"; x2 L$ L+ U8 O0 h$ m% k
- ; http://php.net/request-order. l: H& H: S( J4 g& y
- request_order = "GP"
$ E5 g$ O6 L, ], @9 s) Z- ?- h - , G; b9 `4 Z$ Z. z! q
- ; This directive determines whether PHP registers $argv & $argc each time it- _% P) e3 ], h
- ; runs. $argv contains an array of all the arguments passed to PHP when a script! F( N" H1 ~$ ~' \# |5 g
- ; is invoked. $argc contains an integer representing the number of arguments& @# s/ @7 D% ~! n
- ; that were passed when the script was invoked. These arrays are extremely
* c# P3 W- i! {$ N' Y Z - ; useful when running scripts from the command line. When this directive is$ f6 ^" B& a$ U; S4 u# O
- ; enabled, registering these variables consumes CPU cycles and memory each time
# C7 G$ I; y2 n - ; a script is executed. For performance reasons, this feature should be disabled
1 u0 e/ e( l$ C8 c/ y \. f/ w - ; on production servers.
9 M4 s) m1 f! J) x9 s @6 }9 a - ; Note: This directive is hardcoded to On for the CLI SAPI
) J- U* a0 W' R: I3 Z* b! @ - ; Default Value: On
2 H6 {& l+ X5 G% t9 @" s3 m - ; Development Value: Off
' w. z p+ R P* Z' q7 E, D4 T1 @ - ; Production Value: Off( I+ M+ e, C: ^8 M7 Z; c! \
- ; http://php.net/register-argc-argv
& s* v' W; d3 P8 d2 r - register_argc_argv = Off
! Y+ d+ [5 R u8 J& I
9 n }* Z& G) t/ ?- ; When enabled, the ENV, REQUEST and SERVER variables are created when they're
3 b% `0 T4 u+ w9 n" ]* y - ; first used (Just In Time) instead of when the script starts. If these, T& x# q; _ l% K/ b
- ; variables are not used within a script, having this directive on will result; S8 i, c4 g1 n- \
- ; in a performance gain. The PHP directive register_argc_argv must be disabled2 v$ A0 e8 `$ C( O$ u
- ; for this directive to have any affect.
" L+ j/ x- m- Q/ A: d& F# d* m, j: @ - ; http://php.net/auto-globals-jit, I+ g+ S* G6 G) e* ~/ H
- auto_globals_jit = On* j! |! Z7 G6 D1 x* c1 O- x1 T! E7 {) _
- - s I$ D J; y; M1 `
- ; Whether PHP will read the POST data.7 ]+ s8 J% C! Q1 y
- ; This option is enabled by default.
) t. Q( _) x8 l9 o - ; Most likely, you won't want to disable this option globally. It causes $_POST0 O& @$ }& d- M! ^! {, U+ \' P2 X
- ; and $_FILES to always be empty; the only way you will be able to read the2 _2 v& p' k4 i0 h& P2 }1 ]: c& ?
- ; POST data will be through the php://input stream wrapper. This can be useful) Y. Z" H4 P! a" {! u) n* E
- ; to proxy requests or to process the POST data in a memory efficient fashion./ k3 J, Q5 ]+ E" j( ?
- ; http://php.net/enable-post-data-reading8 R# e& y" J o5 Q9 B% J
- ;enable_post_data_reading = Off
! V4 d8 h6 A J* s5 k7 u
0 d+ |* o( \7 X K; { N n+ Y- ; Maximum size of POST data that PHP will accept.: p0 ]- ] `& y* n( n/ ?8 P/ h9 q
- ; Its value may be 0 to disable the limit. It is ignored if POST data reading
8 T: C% I& ^* `9 s4 K5 C5 f - ; is disabled through enable_post_data_reading.$ n4 { Y5 f- h
- ; http://php.net/post-max-size' E% x( d( }4 H
- post_max_size = 50M) p! K l" o( F# Z7 R$ b
1 F" O- `* _$ R, t/ ^- ; Automatically add files before PHP document.8 f: R- v9 s( e. R8 z N9 T
- ; http://php.net/auto-prepend-file
5 P2 F% ` { @ - auto_prepend_file =
6 L, S+ D# \, w - 1 R- c4 q+ [. u3 ^7 k/ w+ G
- ; Automatically add files after PHP document.- M( M5 Y8 D! Z6 r+ N8 ^
- ; http://php.net/auto-append-file& ^7 B8 j+ [: s) H/ ~
- auto_append_file =" I' M6 T+ x9 U8 D, x
0 H7 T) ]; f2 d' v- ; By default, PHP will output a media type using the Content-Type header. To
" a1 |0 O8 q# R# W7 T0 B - ; disable this, simply set it to be empty.2 {2 o G2 o- A7 n- n+ M; q: B
- ;# T# X |) d6 L) t& u
- ; PHP's built-in default media type is set to text/html.
0 V% G/ j$ [: u* t - ; http://php.net/default-mimetype
& \* N$ W! h" I/ U$ r - default_mimetype = "text/html"
+ D: x9 L$ f2 t/ z - ' ?3 z' X8 h9 Q0 L4 @8 `
- ; PHP's default character set is set to UTF-8.+ [+ e7 m2 n7 d4 Y# _3 W
- ; http://php.net/default-charset1 Z! _/ A, q# ^6 U1 U4 }
- default_charset = "UTF-8"& K( ~$ B# }- E+ ^# e
- ) J! K) S" [: b6 o: M) D
- ; PHP internal character encoding is set to empty.! ^% G( D- _" [* i- @' \
- ; If empty, default_charset is used.
' \* ?4 {" R* [( ^ - ; http://php.net/internal-encoding
0 B& m8 `5 S, E! f2 _ - ;internal_encoding =5 B% ]6 K8 b/ }: F' \/ |
- , \- O* i& l( p r( R( c
- ; PHP input character encoding is set to empty.4 e/ Q! X! L$ T' G# x
- ; If empty, default_charset is used.2 m1 R. A$ u! `, A! t
- ; http://php.net/input-encoding Z- j& P. f+ O+ `
- ;input_encoding =
( C7 S/ E/ T0 _: r - j+ [3 J+ v0 X1 Q* M' y
- ; PHP output character encoding is set to empty.
& _4 @9 S4 N! N6 }- B# e - ; If empty, default_charset is used. U' h6 V: X' h7 ~$ w) `
- ; See also output_buffer.
+ ~; [- f: A9 P4 _( v$ { I - ; http://php.net/output-encoding7 n8 H+ X% H. |& ~
- ;output_encoding =
# Z- I3 V2 I5 e3 {
3 s. M* O4 V8 z8 M$ \- ; Always populate the $HTTP_RAW_POST_DATA variable. PHP's default behavior is9 }. V+ T6 I+ z# n, A
- ; to disable this feature and it will be removed in a future version.
- x' I" U- [" {' n - ; If post reading is disabled through enable_post_data_reading,, W& d$ r- ? F/ |1 K2 s0 @1 y
- ; $HTTP_RAW_POST_DATA is *NOT* populated.
- Q* q6 ^( e7 i/ Q4 _5 O. e - ; http://php.net/always-populate-raw-post-data
* l" @% x1 F) ^0 ]7 F - ;always_populate_raw_post_data = -1
5 a$ G3 L( R# N+ M8 x1 Z) l
; [. C' G) N! [$ g! P2 t7 P- ;;;;;;;;;;;;;;;;;;;;;;;;; S( s8 |1 C, u* ?8 q: I
- ; Paths and Directories ;- B3 V+ T. j L, J; _( [: j0 A+ b+ K
- ;;;;;;;;;;;;;;;;;;;;;;;;;
q7 c9 H0 ^- M0 Z5 | - , M" P) m5 k( M9 {: j; O/ T
- ; UNIX: "/path1:/path2"
3 N5 @5 ?9 Y7 J7 g - ;include_path = ".:/php/includes"
h% I9 ~0 x6 t/ N- h# i - ;
$ F; @" n, ?" ] - ; Windows: "\path1;\path2"
% [- }, M# J" r5 N2 \ - ;include_path = ".;c:\php\includes"
4 U( c+ j1 d0 j0 W - ;4 @4 f6 [5 J! v9 f1 g; Z
- ; PHP's default setting for include_path is ".;/path/to/php/pear"# x: `/ b& L6 Q& l
- ; http://php.net/include-path
7 o! B3 b; L2 ~3 a5 I- B( w9 v
7 D) K- E( V) z' G- ; The root of the PHP pages, used only if nonempty.- U, E# y) S( Q- G
- ; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root
, G* T s9 }" d% |, m - ; if you are running php as a CGI under any web server (other than IIS)
$ p2 D% a3 S/ J: d. v7 R4 { - ; see documentation for security issues. The alternate is to use the
' C4 b0 Z6 [) Y+ h - ; cgi.force_redirect configuration below
4 }, k2 m* H' I( G6 i8 B - ; http://php.net/doc-root
$ {) i0 K2 _8 ]+ b/ y( Q - doc_root =
. K# Y7 g4 D, T w6 @
2 P% \) U0 H$ C" P7 K- ; The directory under which PHP opens the script using /~username used only5 \4 x2 u" ^9 B1 E5 E' K5 v
- ; if nonempty.
4 }) I- I- A- u% _, y. C2 b. h/ N - ; http://php.net/user-dir9 t$ h+ B# i, }5 r( |1 v
- user_dir =, K7 m3 _0 W6 J+ @3 j( [/ `, ?
- * z& ]& c# j1 w* M% A' v; ? @
- ; Directory in which the loadable extensions (modules) reside.$ j: W& m: K$ R- b- B+ Z2 G* T
- ; http://php.net/extension-dir8 I5 }7 A$ Z/ O3 u
- ; extension_dir = "./"
+ F1 P' ]2 Q% i. J4 y - ; On windows:
/ p3 ^, C& I# L! f# q& { - ; extension_dir = "ext"& b e: E$ k' R+ J3 f
- & x6 j0 }4 F: ?% f
- ; Directory where the temporary files should be placed.% {# ^; H- ?6 q1 k
- ; Defaults to the system default (see sys_get_temp_dir)0 U0 q( g7 P/ R
- ; sys_temp_dir = "/tmp"
) p R) }! \3 ]0 c, c( ` - * @! L- j+ Q3 W4 J( R! p& E4 ~ c
- ; Whether or not to enable the dl() function. The dl() function does NOT work
$ D/ w( f* l( a( J4 @) |6 y - ; properly in multithreaded servers, such as IIS or Zeus, and is automatically
$ B) @! z: X w8 x - ; disabled on them.+ H6 n7 a" d+ n- Z( O+ }
- ; http://php.net/enable-dl
+ W$ \! J3 Z: V5 I - enable_dl = Off3 e d2 ~" `# T A) I
- 3 y( k, {( z/ W! T1 ^( Z- C
- ; cgi.force_redirect is necessary to provide security running PHP as a CGI under
4 ^. t! ]: L& ?. B: Y5 I - ; most web servers. Left undefined, PHP turns this on by default. You can) e. [) G# v: e S' i: O2 o5 o
- ; turn it off here AT YOUR OWN RISK
% o6 C, {& U" k4 `8 ^ Q, z3 { - ; **You CAN safely turn this off for IIS, in fact, you MUST.**
! L, j. h/ f" L, a2 \ - ; http://php.net/cgi.force-redirect
+ j2 O! B2 y& \! o2 U$ Z$ B) U0 T - ;cgi.force_redirect = 10 h! p q6 T, z9 B" |( g
: n3 ?6 Z: i8 V* D; x0 r' |% O; }3 E- ; if cgi.nph is enabled it will force cgi to always sent Status: 200 with) O- w" n& [) k* C; s$ q( j5 i' n8 B
- ; every request. PHP's default behavior is to disable this feature.; O2 s) U" v# B) n- h0 |# M
- ;cgi.nph = 1
# i" I" p4 M+ l% `% s$ k) ^8 g - " N r" M. D4 I- S
- ; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape) p0 [4 s+ u) {( J. y
- ; (iPlanet) web servers, you MAY need to set an environment variable name that PHP
; H$ r# L/ b9 F) v - ; will look for to know it is OK to continue execution. Setting this variable MAY4 G. [, G1 V+ b
- ; cause security issues, KNOW WHAT YOU ARE DOING FIRST./ [0 f7 d2 v; s. s, _" b, o
- ; http://php.net/cgi.redirect-status-env- G) U* B, ^) ]. N% w' w' S6 A3 d6 v9 ]
- ;cgi.redirect_status_env =
6 D/ a9 ^! R% Z2 c' L8 |+ k - ) y7 ]4 O9 w) V# }8 [7 R6 x2 v
- ; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's4 p. D, I3 \ F8 ]# I+ ]
- ; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok! f& B( |: o6 N" D4 j
- ; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting- x, i( Y! D9 W2 r% p. @5 p4 Y) I
- ; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting
8 {4 `6 {5 i+ C* ~/ f+ o - ; of zero causes PHP to behave as before. Default is 1. You should fix your scripts
& ]: ^0 V4 G, T* N - ; to use SCRIPT_FILENAME rather than PATH_TRANSLATED." [% K. L/ r) ]/ ]
- ; http://php.net/cgi.fix-pathinfo
- I# I" M$ n* X. S& p5 Y; ?8 q z, j( h - cgi.fix_pathinfo=1% Z: N' V' Q2 W( {5 R, |! h
7 y9 `5 J" i5 q- W2 x4 q! R) I- ; if cgi.discard_path is enabled, the PHP CGI binary can safely be placed outside
& [- B" y# m& K+ o7 @7 `+ ] - ; of the web tree and people will not be able to circumvent .htaccess security.
8 _3 p7 `$ W5 Y. N - ; http://php.net/cgi.dicard-path4 I/ I- m; E/ l% X7 b
- ;cgi.discard_path=1+ _. H* }2 f- i4 C( h2 {* r
- ' ^, E, ^: O' `# i
- ; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate( l6 c( m( ~' s9 R% K1 p; v
- ; security tokens of the calling client. This allows IIS to define the
/ I& h; x1 k% }9 `5 A - ; security context that the request runs under. mod_fastcgi under Apache
# K3 D6 w: W% l( l& {# o* z' D% G - ; does not currently support this feature (03/17/2002)
2 R; u- t* {, U- a - ; Set to 1 if running under IIS. Default is zero.) w* S* g% f5 W
- ; http://php.net/fastcgi.impersonate
7 u+ H5 K$ n" B: j - ;fastcgi.impersonate = 17 \& M8 E! N, b4 O" E/ B4 p) k
- 8 i2 z' Q! n) I9 ?5 X2 v0 V4 L
- ; Disable logging through FastCGI connection. PHP's default behavior is to enable! u/ L& i) ~5 j5 F# x9 Q' ^
- ; this feature.& V2 M& N, v/ C8 z( h
- ;fastcgi.logging = 04 e+ ^7 |5 P9 Z3 t
9 o( u0 }: f" d; [- ; cgi.rfc2616_headers configuration option tells PHP what type of headers to
- M. H- z8 u4 D% z1 \ - ; use when sending HTTP response code. If set to 0, PHP sends Status: header that" i+ Q# T" y% C6 L- T$ J4 ?+ K% x
- ; is supported by Apache. When this option is set to 1, PHP will send, q- L* R8 a1 O Z
- ; RFC2616 compliant header.- s7 N; [: j4 T
- ; Default is zero.
2 a N! G& S) w/ m% t - ; http://php.net/cgi.rfc2616-headers! _0 Y8 ]6 D; h4 @; |* Q
- ;cgi.rfc2616_headers = 0& K; U, p# t, k5 q/ e3 F [
8 f- _1 S, ]: C1 e- ; cgi.check_shebang_line controls whether CGI PHP checks for line starting with #!* C* w4 m/ n# z! k" s7 G
- ; (shebang) at the top of the running script. This line might be needed if the, f- Z4 a& Y. v7 t/ M
- ; script support running both as stand-alone script and via PHP CGI<. PHP in CGI! `' [! `( z( P" s: O- s
- ; mode skips this line and ignores its content if this directive is turned on.5 |" l" r' N* p
- ; http://php.net/cgi.check-shebang-line
, e2 L6 L/ O# U - ;cgi.check_shebang_line=1
1 q% k. c \: M s' ?
. r: ^# M4 t; y+ I3 ^6 O6 |6 E- ;;;;;;;;;;;;;;;;6 y0 A: \7 i- y q" K0 z @
- ; File Uploads ;" K; Z+ q1 M) P& D8 [
- ;;;;;;;;;;;;;;;;
# F) N/ y+ A, {9 Y7 C) `; j6 N& { - , n1 C9 U' X6 }# }) ~$ g6 g+ ]* }
- ; Whether to allow HTTP file uploads.8 z# R, P$ r# U: C1 v' ~. b0 V
- ; http://php.net/file-uploads* I9 g8 \ r& c( }
- file_uploads = On7 g+ X% f' M! X/ M* d- v/ j
- & q& I' D% a/ w6 V1 q( J& {, g
- ; Temporary directory for HTTP uploaded files (will use system default if not
' `9 P2 D) l6 }3 B; {0 v - ; specified).
3 f% ]' |1 b, s; B j5 G7 Q' M - ; http://php.net/upload-tmp-dir
7 Q# K# `) d* k2 c! u - ;upload_tmp_dir =* H+ `, h7 i4 R
0 j; J% }! }1 i& }- ; Maximum allowed size for uploaded files.- A+ u( N0 m$ e) p+ g' a
- ; http://php.net/upload-max-filesize
$ r) ~; r% D5 K+ A) ~# r! ~ - upload_max_filesize = 50M' O" }5 j) U4 F5 v$ C; ?) t
- 7 H' v8 i$ S" N$ [
- ; Maximum number of files that can be uploaded via a single request3 L9 C* N' A" w) _
- max_file_uploads = 20" t3 n3 n L+ J; m2 H+ w/ T
- 0 C7 Y& v, @* z3 U1 t2 a
- ;;;;;;;;;;;;;;;;;;- \" o0 q! e4 q3 J! o; [
- ; Fopen wrappers ;7 L( P; F+ V7 Y O# ~
- ;;;;;;;;;;;;;;;;;;4 R8 H, w: i) L3 |& ~
- + k0 \# U+ `3 ^. s, _
- ; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
( R0 m: T5 b v) t) K6 Q; x4 K1 v - ; http://php.net/allow-url-fopen
4 t8 ?0 M% Q, E/ L6 W8 ? G0 ? - allow_url_fopen = On& v4 J6 j5 b; G: X) o
- & `) v! q. S4 |0 y- @% M' D
- ; Whether to allow include/require to open URLs (like http:// or ftp://) as files.
6 Q& @# C! Z; ]0 ^4 A - ; http://php.net/allow-url-include: i9 S3 ]0 w1 B7 M4 f
- allow_url_include = Off
$ n ^' V1 B- k% p - 8 K9 v2 a O1 _% z* z3 A
- ; Define the anonymous ftp password (your email address). PHP's default setting$ O9 H* p, W: }* w9 e, o& W7 L
- ; for this is empty.
. ]1 g) }0 u. m5 q - ; http://php.net/from
. d5 y6 b: ?# D3 n: ] - ;from="john@doe.com"
5 U% f7 Q5 M9 A: h% _* ]6 } - 8 u' ~( P. h; m9 C9 o! h
- ; Define the User-Agent string. PHP's default setting for this is empty.
1 ~% t4 }1 f7 T0 C7 e - ; http://php.net/user-agent" F9 h7 X/ G; `
- ;user_agent="PHP"
8 b5 R7 ~5 {5 P) z; w: b9 X - 2 g9 c& z) n- A/ V
- ; Default timeout for socket based streams (seconds)
# ], i2 `4 ^, ?$ ^ - ; http://php.net/default-socket-timeout
6 S, w( ?! S" I - default_socket_timeout = 60
$ B9 w, b3 Z( U3 g& o0 z5 \2 v - 1 t3 M; X5 q8 @/ G' M f
- ; If your scripts have to deal with files from Macintosh systems,& G9 C! m F( Q9 c
- ; or you are running on a Mac and need to deal with files from
3 D# w( ? T5 p+ Y& M& @1 I - ; unix or win32 systems, setting this flag will cause PHP to* i8 p' t: U4 w3 H; n0 K8 w/ N
- ; automatically detect the EOL character in those files so that: I* j( L/ h! u6 [
- ; fgets() and file() will work regardless of the source of the file.
, B: P' S* I, h& w# | - ; http://php.net/auto-detect-line-endings
5 r( L* V. v7 D' k& m" A! f4 { - ;auto_detect_line_endings = Off5 K) [$ J% K( A7 ^
0 H1 h% C5 ~7 ~" N3 _- @- ;;;;;;;;;;;;;;;;;;;;;;
Z: q1 c4 s+ ?& _6 r - ; Dynamic Extensions ;5 p) i: A) W. }
- ;;;;;;;;;;;;;;;;;;;;;;
( [$ |7 q2 M, L9 Q9 {. A! {
3 } a9 c" _9 H/ w- ; If you wish to have an extension loaded automatically, use the following: @& x6 }! |0 t1 F0 w l1 k1 A: c
- ; syntax:4 O5 _. Y) u8 Z9 h$ f
- ;! I7 N# r1 \" O. v- L. K' \, W
- ; extension=modulename.extension
/ j" h; C% ^+ E3 O, `6 Y* Q8 S - ;
6 @1 C, H4 s3 S0 V4 n P, U - ; For example, on Windows:7 I& U. V8 N8 y
- ;. C/ [+ H4 f: E q" C! g- e
- ; extension=msql.dll4 N. d! a- [1 A- X. E3 Q7 p1 n
- ;
4 D4 s2 k5 ~) [ - ; ... or under UNIX:
5 G3 c2 m3 P) M3 {+ E - ;
1 ?6 r8 E) `1 N - ; extension=msql.so* P; x8 z0 x9 H B( g
- ;' y1 l; u. J' p( w/ Q) k
- ; ... or with a path:
" G& R) B3 M' Z3 W9 Y - ;9 u8 L8 W4 ~0 m S( M) q3 z
- ; extension=/path/to/extension/msql.so
6 ] y9 j1 X" }* m - ;9 G; n; t7 m: N' a& f+ X
- ; If you only provide the name of the extension, PHP will look for it in its- ~8 s, f- S+ P
- ; default extension directory.& G' f# s5 T8 Y1 e+ n: A% \
- ;7 }+ y, k8 Z$ K# f
- ; Windows Extensions7 x9 A: X7 K* F; {
- ; Note that ODBC support is built in, so no dll is needed for it.
/ i( h( n% p; v - ; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5). Z, w7 b* l3 v( C) w4 k& E
- ; extension folders as well as the separate PECL DLL download (PHP 5).
6 F. W3 M+ A; E/ E3 O, l: a* A - ; Be sure to appropriately set the extension_dir directive.
7 g$ K6 M9 t% |+ e& k7 Y8 F, r - ;: E+ j- u8 a; x; x \9 H
- ;extension=php_bz2.dll9 f1 F0 C" w& H; J5 E( S. Z% ^6 f7 Y
- ;extension=php_curl.dll+ ^' I1 S6 y1 N$ R" Q
- ;extension=php_fileinfo.dll/ W- J. u# t! ]% q: t* v+ H
- ;extension=php_gd2.dll5 A8 w# G6 s& k! o& |
- ;extension=php_gettext.dll& ]: l0 T% p2 s
- ;extension=php_gmp.dll
( c$ ]# m) m; x Y1 M- t% _9 M - ;extension=php_intl.dll
6 @; ]1 A2 g1 O8 V6 Q* l6 X - ;extension=php_imap.dll
( X' y7 C4 ~- r( Z5 o" y - ;extension=php_interbase.dll, M! _4 \+ V0 a+ b. a' z
- ;extension=php_ldap.dll
$ u* L& |7 H- I - ;extension=php_mbstring.dll! [3 @* h! r1 @! f. V
- ;extension=php_exif.dll ; Must be after mbstring as it depends on it
; i9 }, e& j. c - ;extension=php_mysql.dll
! o) D8 g0 R, ? - ;extension=php_mysqli.dll
% `3 | Q: i9 X$ g: u) f - ;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client2 R4 P2 H C" T% N
- ;extension=php_openssl.dll
) S d! e' C, A1 H9 b' r - ;extension=php_pdo_firebird.dll
7 F% m* A8 @: B7 e - ;extension=php_pdo_mysql.dll, {0 t! X5 M7 k+ N2 V+ |3 [3 @
- ;extension=php_pdo_oci.dll
% e. b" u& E5 V8 w! Q# p9 z - ;extension=php_pdo_odbc.dll
( r) _4 E6 b) R. k: \ - ;extension=php_pdo_pgsql.dll
* e H- Y# {$ w - ;extension=php_pdo_sqlite.dll7 v7 n; n* c0 w+ ^. b' _
- ;extension=php_pgsql.dll1 S+ @1 q+ c+ u" E" w, ?+ w
- ;extension=php_shmop.dll
: ~* v$ G5 K4 I2 ?0 s - ) o. v# c; ^4 g6 z8 r
- ; The MIBS data available in the PHP distribution must be installed.
; e; w2 F& g, B% n5 C% | - ; See http://www.php.net/manual/en/snmp.installation.php
& N2 l0 b( I7 ^4 h- X - ;extension=php_snmp.dll& @" R- l* j/ Z2 @+ ]
6 Y9 R) P+ N) |; D5 E- ;extension=php_soap.dll
7 X) w) y8 @: M6 u) q% a - ;extension=php_sockets.dll
3 P1 o& d& U7 _" v - ;extension=php_sqlite3.dll- l+ V% O6 P K' d4 X/ H% Y6 _3 W) c
- ;extension=php_sybase_ct.dll
+ I) A: y) t6 a4 a5 d - ;extension=php_tidy.dll
/ M9 V4 k: u V) e4 k - ;extension=php_xmlrpc.dll
' h- M" a, G" o- E5 \) ?5 f* \: x - ;extension=php_xsl.dll
. \3 y* v) [2 Y; [5 N
$ J# x! j4 G' s+ J- ;;;;;;;;;;;;;;;;;;;
) A. }& ^% S7 D! g/ x - ; Module Settings ;0 F, q. k7 @; Q8 O' U
- ;;;;;;;;;;;;;;;;;;;' ?6 C. L6 V" w$ E" R& R, v
6 C6 o0 V, P& e- [CLI Server]
4 {/ _1 e6 q" `% O2 i- S2 a - ; Whether the CLI web server uses ANSI color coding in its terminal output.
$ q1 N8 ?- e A$ L% i: J - cli_server.color = On
* a" o, Y) y# f4 e4 W5 q
; B! H5 C U8 k2 e- [Date]
! f/ A3 P% L# z; J+ V( h G - ; Defines the default timezone used by the date functions z1 v i' Q# t- B) C- j4 B
- ; http://php.net/date.timezone
4 u0 B, P: F* q6 n# ^ - date.timezone = PRC0 o4 J! z4 R! ~0 a9 E6 @: P
- : ~, ?9 _1 F+ ]/ C: z
- ; http://php.net/date.default-latitude a# S& i" R' m4 Q
- ;date.default_latitude = 31.7667 C/ g' A. k4 x' z4 }8 U" z
- / B6 Z+ t2 s [
- ; http://php.net/date.default-longitude# [, m; w8 l* q8 q( a
- ;date.default_longitude = 35.2333
/ S' {1 k- T4 ~' j0 T
1 |! D% N; d, G- ; http://php.net/date.sunrise-zenith
9 v, t5 L5 s8 s+ k6 K* l- g - ;date.sunrise_zenith = 90.583333
- {" ~, g" p7 H' y' S5 g" O
2 w0 ~4 Z! j+ m) L Z- ; http://php.net/date.sunset-zenith1 _7 L! G& O+ ?0 r& \
- ;date.sunset_zenith = 90.583333
0 r, ~/ |% n- S8 p: y - 2 L/ M4 H; h! f/ J
- [filter]3 G! x: Z/ Z; ~& \" o
- ; http://php.net/filter.default8 V. i; r0 b8 n$ k
- ;filter.default = unsafe_raw0 ^' X. `3 o: {% b! h! Z
* M. }: b6 P! G; \+ I) U% o- ; http://php.net/filter.default-flags- U# ~$ r5 b B+ ^. d; f6 d
- ;filter.default_flags =
0 d0 u) ]) _: z/ ^3 P: y n6 F
! j, V+ w+ U ~( Y/ U- [iconv]: r9 G5 Y- D& t
- ; Use of this INI entry is deprecated, use global input_encoding instead.7 a6 F' F; M( v* k- s, M
- ; If empty, default_charset or input_encoding or iconv.input_encoding is used.
" P6 q/ ^/ u% B5 j - ; The precedence is: default_charset < intput_encoding < iconv.input_encoding
* D. a$ h- ]' D4 U0 G4 @ - ;iconv.input_encoding =
" i* ]% ]/ _0 Q" [1 _ - 8 Z2 u, x; w+ P& N. H- U! K: p
- ; Use of this INI entry is deprecated, use global internal_encoding instead.
, q2 Q. \2 g7 s4 _8 g K - ; If empty, default_charset or internal_encoding or iconv.internal_encoding is used.
- p9 ]& H/ K" t1 I - ; The precedence is: default_charset < internal_encoding < iconv.internal_encoding
/ c; z4 J4 ~$ Z( e5 W* X5 L# f - ;iconv.internal_encoding =
) x8 m& @0 s5 y, O
) a! y' ~: c3 M' E n: K2 l; y! d- ; Use of this INI entry is deprecated, use global output_encoding instead./ \. n- R$ S: w
- ; If empty, default_charset or output_encoding or iconv.output_encoding is used.3 X8 \3 g; C- u8 \' A* @- H
- ; The precedence is: default_charset < output_encoding < iconv.output_encoding8 w! P- ?8 V* N a% X0 c; Z
- ; To use an output encoding conversion, iconv's output handler must be set& v8 b2 H7 L/ @+ J3 l
- ; otherwise output encoding conversion cannot be performed.
; Z& s6 [% o% ? - ;iconv.output_encoding =# i+ X6 X; s5 m2 V
5 o/ g. b A' ~: f- [intl]
- f _3 C9 B1 n |) B" f - ;intl.default_locale =3 x. e2 m$ o- j( x3 j
- ; This directive allows you to produce PHP errors when some error
& s F1 G k7 j& ~. e - ; happens within intl functions. The value is the level of the error produced.
r# g$ k8 v( i r; e' h0 A7 k - ; Default is 0, which does not produce any errors.% x1 H: p* L0 p4 e4 Y3 S& p+ Z
- ;intl.error_level = E_WARNING% W' P F7 Y* K, x
- ;intl.use_exceptions = 0
, x' s9 H& C: b8 |
8 y5 Y6 a& U5 I% L( ]; }- n- [sqlite3]- T) w6 Q4 n0 r3 q2 y( u( ?) w8 Y
- ;sqlite3.extension_dir =
( B4 M7 k q, h i) T; I
0 Q- G- g1 N+ z4 l- [Pcre]
+ H4 K, ~6 h# K& I$ ]( x8 [ - ;PCRE library backtracking limit.7 k" E+ H2 d3 ?: ]! P1 _! s1 ]
- ; http://php.net/pcre.backtrack-limit% ?+ q& d4 `& W; k, ]" k
- ;pcre.backtrack_limit=100000
3 y: p/ c' B6 u3 {7 x; [ - 0 _: Z0 p5 m% f
- ;PCRE library recursion limit." I0 e! L4 }' H! ^
- ;Please note that if you set this value to a high number you may consume all1 I( e8 C6 q" Q5 \) f
- ;the available process stack and eventually crash PHP (due to reaching the
9 `( _5 }# }. c2 v+ I - ;stack size limit imposed by the Operating System).+ p; W/ T- ~9 E. y. q
- ; http://php.net/pcre.recursion-limit+ l, q' W' B% p4 v: Q
- ;pcre.recursion_limit=1000000 n x2 e. j. f! q/ J. F1 T7 F5 s
- , J0 ?0 O9 W' \$ p- [& n& Y
- [Pdo]
# r F1 |8 {; J; B2 u; A - ; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off"* W- S: n0 C% z1 A1 n
- ; http://php.net/pdo-odbc.connection-pooling
2 D T1 P1 y' W3 J - ;pdo_odbc.connection_pooling=strict
7 Y0 c( Q8 Q! p
7 L& _4 S6 d" X5 A/ z- ;pdo_odbc.db2_instance_name" x, G; A* ]. z- h* @( E
- 5 d7 i! ]7 J9 {# u0 k ^1 L' m! E
- [Pdo_mysql]* Z% h0 s. j4 M/ S- C
- ; If mysqlnd is used: Number of cache slots for the internal result set cache
; @9 @3 ~+ t* c7 S( | - ; http://php.net/pdo_mysql.cache_size% G5 h: J' ^- ~2 P/ { e
- pdo_mysql.cache_size = 20007 @6 }* f+ Z, Q! y
- ) @, T4 v' o# ~
- ; Default socket name for local MySQL connects. If empty, uses the built-in
6 e: ?* P* [4 q' ^6 @ - ; MySQL defaults.
9 Q7 Q# }7 Z& x: s9 R# e - ; http://php.net/pdo_mysql.default-socket
$ C7 Y' K6 b$ E$ j; S8 i1 C' n - pdo_mysql.default_socket=8 O' @% w+ e. d! v( b
- 3 w% c7 S! N$ A3 B
- [Phar]
4 }) \/ v0 ]; G, [! p' b - ; http://php.net/phar.readonly& x" N, a/ T7 |, a
- ;phar.readonly = On
, @- |. E5 v% _( ~. Q6 o
( B. Q! V( I3 U, r- ; http://php.net/phar.require-hash9 k( r6 s D8 i0 F8 e
- ;phar.require_hash = On
1 c0 [9 T+ H3 Z2 y
8 m4 J1 x/ t2 | y9 |5 w' ~- ;phar.cache_list =5 h0 W3 a" f3 W
6 t; D+ Z4 U$ H: s& z2 ^- [mail function]; g+ @7 s0 F+ ]) D8 L; J
- ; For Win32 only.
6 S: ]$ F0 a* | - ; http://php.net/smtp3 l" ]: R$ B* {& v$ v) o& L, g( t
- SMTP = localhost
0 R7 f; ?" E, a& Q - ; http://php.net/smtp-port3 |# m+ g( b) X* [1 ]4 d" W
- smtp_port = 25" R: x+ N3 e& p$ Y/ {1 ^
- - x7 Y% n) c: D3 m q
- ; For Win32 only.
9 e6 L! _: Y2 a4 z; U( L% I& m - ; http://php.net/sendmail-from( P4 F e; o7 i& P! u* T1 G
- ;sendmail_from = me@example.com% K" Q2 @* ^$ ?6 L% W% z0 ?1 N
- ; ]8 T+ ~/ {9 `$ e0 n/ u0 ?2 ]
- ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").0 y6 V( R8 ^- R) J, o7 {
- ; http://php.net/sendmail-path
5 M) y+ d1 V1 e2 }4 ~0 w - sendmail_path = /usr/sbin/sendmail -t -i
5 t0 B1 {' v i' k
5 ^4 d$ R4 _1 ]' Y* E& }- ; Force the addition of the specified parameters to be passed as extra parameters" F% @2 R8 {9 F3 K
- ; to the sendmail binary. These parameters will always replace the value of
7 S+ x5 f1 r* ?4 B) `7 l$ e - ; the 5th parameter to mail().
0 T; e4 g1 e- E6 K0 g - ;mail.force_extra_parameters =+ Q& D( C7 g( m" R3 Z
) V& Y2 o1 N" \. g" i- ; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
. @/ V7 _" @( C; j1 S5 Z - mail.add_x_header = On
% T2 A c. F" y3 B5 N - ) Q: W5 p' x" t7 z& H" @
- ; The path to a log file that will log all mail() calls. Log entries include
" t+ \! }. w. x* e - ; the full path of the script, line number, To address and headers.
& y2 E1 Q- }0 @, o. X$ ^/ B - ;mail.log =
% m+ I7 h8 i7 L# \4 e8 s - ; Log mail to syslog (Event Log on Windows)./ J- V# F3 O0 H% c7 k$ u' Q( d& [7 k
- ;mail.log = syslog2 g. A1 m n+ K: @) W) o/ c
' j+ l P( V* E) ~$ {- [SQL]
5 m. L% U" l$ ~! J+ y# L - ; http://php.net/sql.safe-mode
, q' V# q3 T, m% c - sql.safe_mode = Off P, Q6 p, C9 X
" D$ q& V4 q; R+ @6 n- [ODBC]
5 o4 W2 X' a" d2 @+ P- {+ g - ; http://php.net/odbc.default-db8 Y ? r: |& Q2 H& i
- ;odbc.default_db = Not yet implemented
. a, }2 N- N: i+ _' ? - / b7 P2 F! p1 B+ Y2 b4 @" g9 A
- ; http://php.net/odbc.default-user- q% D5 e/ \+ n0 u+ e) s
- ;odbc.default_user = Not yet implemented! G: k v$ x! ]! S" P
7 _: y' |# {7 ^- ; http://php.net/odbc.default-pw2 l8 ~0 I8 [. f. M3 |
- ;odbc.default_pw = Not yet implemented+ v% i Z5 x e; i0 @* r
- # R W$ u& h! g+ J
- ; Controls the ODBC cursor model.; R* ?9 ~" ]4 _# N: S7 X" `* b
- ; Default: SQL_CURSOR_STATIC (default).
! t* x# |# L( g5 C3 j. {8 b" x+ ] - ;odbc.default_cursortype
; u: t6 x7 q1 c - / m% U% d* P9 Y) a2 j: ? J
- ; Allow or prevent persistent links.9 b4 C$ [$ j/ p% s
- ; http://php.net/odbc.allow-persistent( P% d' P; q& o: j, C. a: ~6 S
- odbc.allow_persistent = On
% i2 ~3 z, \3 V! J! Z# t - $ e4 `6 V9 g1 J; E2 ]2 l: _, d
- ; Check that a connection is still valid before reuse.
0 ?5 a1 q+ N9 R/ Y& n - ; http://php.net/odbc.check-persistent+ ]( k, y3 Y# x, `+ E& e
- odbc.check_persistent = On9 J. c* ?3 y' `' E$ Z) b) a& D
1 U) Z7 s5 p6 G' \' h, R! i4 ]) S- ; Maximum number of persistent links. -1 means no limit.
# C+ s$ y, Q; |, ] - ; http://php.net/odbc.max-persistent% @9 f$ b9 \7 d8 C# E& {% v( |
- odbc.max_persistent = -1
2 B! e2 x, B2 c: A! M" s - ) B( N N, \6 P$ U7 X4 l! Q
- ; Maximum number of links (persistent + non-persistent). -1 means no limit.
' F! U- o: A( Y/ o - ; http://php.net/odbc.max-links! Z) ~0 J7 o9 i' Y5 N- j' @
- odbc.max_links = -1
a4 V7 }1 d" Q& Y: Q. {
6 @) Y7 n# D; \' P/ e: A( o- ; Handling of LONG fields. Returns number of bytes to variables. 0 means, r' j% g! E) w' k
- ; passthru.
) H, K4 ~5 _8 L h - ; http://php.net/odbc.defaultlrl* [7 F: x1 H5 @% k
- odbc.defaultlrl = 4096
& F* G8 K5 b4 I# D; Y) N! K - 7 z* i3 \7 W' q# d, ^1 H2 T# R& S
- ; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char.
6 M; j7 n% a% l4 x9 Q q - ; See the documentation on odbc_binmode and odbc_longreadlen for an explanation9 y# l5 F% l1 K4 I
- ; of odbc.defaultlrl and odbc.defaultbinmode
5 k* j! D' b @- B z3 Q$ U* o - ; http://php.net/odbc.defaultbinmode/ a- c, u o1 C2 L
- odbc.defaultbinmode = 1: E8 { `) s" @) Q3 T* l: F
6 N f$ l6 f; \. k- ;birdstep.max_links = -1
% u- L% k" \& C# ]4 [% @
% d" k! P1 c: i! a3 z+ p% `, h- [Interbase]" ^# E* X& z' U9 K8 m: ~+ \
- ; Allow or prevent persistent links.- P) B. f. P2 E8 Z! Y1 n! c, U9 A
- ibase.allow_persistent = 18 G, @& s' A$ a; s7 S' ~- U- X
- # {6 x. g, Y' M& ]* x F+ I4 k) P+ g+ [
- ; Maximum number of persistent links. -1 means no limit.0 M( M: I/ V3 |5 w4 {) ~
- ibase.max_persistent = -1- Y8 E$ ]! D Q
1 s& B$ y. }9 Y3 |- ; Maximum number of links (persistent + non-persistent). -1 means no limit.
; C1 x% N# @/ a8 o" |( c - ibase.max_links = -1
5 j( j4 U7 `9 H) s: h6 j9 K - ! q$ v- a, _0 E* p( {: S5 }+ v
- ; Default database name for ibase_connect().
8 y0 f, k" z2 h5 W/ R3 z: ~9 } - ;ibase.default_db =8 Z; V, E3 q# o2 K) s4 i
* F( m* h/ @$ v- ; Default username for ibase_connect().# |6 `4 k$ b Z
- ;ibase.default_user =3 F z$ G. B( e1 ^9 s* u
- , |: e7 k* T- F/ [1 A) |
- ; Default password for ibase_connect().! I0 h: H! [! a6 \) x6 y+ M; p
- ;ibase.default_password =, ]8 h6 Y/ k7 l& l
- 5 V: P# Z1 g0 S7 q5 g( t
- ; Default charset for ibase_connect().
0 d% c% }( \, d" l - ;ibase.default_charset =5 T. g' J8 r* T$ f/ t
# B' K# g0 j0 m7 {+ C. c& ]7 p' F! M- ; Default timestamp format.( F/ @1 ~; Q) r. r
- ibase.timestampformat = "%Y-%m-%d %H:%M:%S"3 Z6 V( d6 m- Y3 O' X
# Z6 L3 N4 ^1 _( m4 u1 P3 B- ; Default date format.
1 x7 s1 x# u7 m* v% Q+ d - ibase.dateformat = "%Y-%m-%d"4 {: w6 s* U8 D6 v. D! [5 B6 h
- 8 r/ ^# _7 }' s5 X! Q8 U. h
- ; Default time format.+ m1 p0 A% ~, ~6 t# k# d) ^& ?
- ibase.timeformat = "%H:%M:%S"/ n) S/ y, u. K0 n3 Z! D/ N0 G f
- 9 P3 t$ z# {8 q. p* ^0 `. n
- [MySQL]
9 _; X( a1 w6 \( K - ; Allow accessing, from PHP's perspective, local files with LOAD DATA statements$ u; \# Z h+ f
- ; http://php.net/mysql.allow_local_infile+ l3 {0 Z& p1 p/ F7 A& [
- mysql.allow_local_infile = On1 ~$ J% r2 O; \# Y$ J7 N- a
f2 O" b* ]4 U" V, ]1 _8 U- ; Allow or prevent persistent links.
7 c$ S+ u8 Y6 Y& c1 `- s - ; http://php.net/mysql.allow-persistent
4 \6 ~" J% }: ^. m8 p - mysql.allow_persistent = On
5 h, F! N, X6 `$ I0 |5 K - 9 h- o) h, }3 K# j) B% Z
- ; If mysqlnd is used: Number of cache slots for the internal result set cache: b1 i; i1 r @; W- E2 @( K9 n
- ; http://php.net/mysql.cache_size
2 T4 Q, f# }$ n& J - mysql.cache_size = 2000
) R7 Z8 u1 X8 i2 |& B# k! \9 l - 9 g& r4 m- } ~) n5 U* `5 x) I$ N3 C
- ; Maximum number of persistent links. -1 means no limit.
1 s4 e/ V0 q; Z* [% T5 K - ; http://php.net/mysql.max-persistent
8 j! x6 @! J7 c+ D+ r9 g1 |# K - mysql.max_persistent = -1
9 P: u/ H" M; w
" B# ^; G, O& |8 V& S- ; Maximum number of links (persistent + non-persistent). -1 means no limit.
) G4 h- n, M i! t: u) O' |% z - ; http://php.net/mysql.max-links
6 L7 `/ X' Q, P7 U2 j/ e( N' `9 w - mysql.max_links = -13 i# Q( M0 E7 ~% z4 r |' F
g$ t# \8 h" ~) K& D" P" M& {7 t- ; Default port number for mysql_connect(). If unset, mysql_connect() will use$ D. M0 X" b0 P+ K, Q+ p
- ; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the) f) D2 i9 P- V* a! N
- ; compile-time value defined MYSQL_PORT (in that order). Win32 will only look/ O7 x/ L7 j. z# [; p. Z1 }7 ?
- ; at MYSQL_PORT.
9 T# z$ r1 a) Y1 x8 R - ; http://php.net/mysql.default-port: ~# r f. j& W2 ?' ]9 `- J6 b1 ~
- mysql.default_port =
) s- T) S7 R4 f+ @ e+ X
5 v( R9 c2 O+ W- ; Default socket name for local MySQL connects. If empty, uses the built-in: Q2 d# _; ^& U
- ; MySQL defaults.+ v6 C5 o; o% w9 O( D5 z! b
- ; http://php.net/mysql.default-socket
2 X2 E$ n0 Q1 F6 Q3 o- f f7 x - mysql.default_socket =% i4 {9 ]4 W5 O& m. ^2 r
* |4 O- c3 c( U7 Z9 N! z) z- ; Default host for mysql_connect() (doesn't apply in safe mode).& }3 ?. O% S& ]# R& {
- ; http://php.net/mysql.default-host
+ D: h; a% ^" M3 g/ z - mysql.default_host =. m' V; E* J6 G2 I4 C
- " Y2 {; V: t* j) H
- ; Default user for mysql_connect() (doesn't apply in safe mode).. j* I( B' Z& R% C3 N
- ; http://php.net/mysql.default-user
& k& J' o% r+ I* a0 U - mysql.default_user =) `* o4 D& O! F9 \ n
- 3 A0 D1 |, `8 g0 k& ~# e
- ; Default password for mysql_connect() (doesn't apply in safe mode).5 f/ F' A# F: s" K0 p. f( m
- ; Note that this is generally a *bad* idea to store passwords in this file.) b! }" `" E; \8 B& B
- ; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password")
! s+ l6 M0 h1 ~$ C( k1 ? - ; and reveal this password! And of course, any users with read access to this
/ t+ i( v& x6 R - ; file will be able to reveal the password as well.
& I" u: x% r" [, W1 n+ Y - ; http://php.net/mysql.default-password
, d. ?+ ], j$ Q% Z- V+ [) k' ~ - mysql.default_password =
$ n/ l( D4 s* ?7 A/ q$ U' |! a - 4 ?& e4 _2 O- N. u) s' c0 E
- ; Maximum time (in seconds) for connect timeout. -1 means no limit! m1 m5 `" s% p( H7 I, U
- ; http://php.net/mysql.connect-timeout
7 \ m2 l3 j* G2 U0 X - mysql.connect_timeout = 60+ t+ ^! A0 @7 X8 H7 o0 `; {. s) E- z, ]
7 W4 b& b7 A0 T7 U9 S. e9 B/ B- ; Trace mode. When trace_mode is active (=On), warnings for table/index scans and
- v e7 b$ ]5 U6 R' N- { - ; SQL-Errors will be displayed.
+ i4 O+ S8 h: c. l" q - ; http://php.net/mysql.trace-mode
5 g. t7 W8 c* ]6 _ - mysql.trace_mode = Off
. ]& k: v! t# t) _& f7 G
$ n N& @+ Y/ [- [MySQLi]- L6 |7 c8 ?+ D- K
- 3 b& M0 {6 a% \" g; ^8 M
- ; Maximum number of persistent links. -1 means no limit.% A! | m# G& r2 f1 q8 o
- ; http://php.net/mysqli.max-persistent9 [* [8 k, ?( J$ L) {% n
- mysqli.max_persistent = -1: q# I0 L6 S% H6 l5 Z' Z" {0 l& i
( s( N! |( L' I. ?; m, \* s0 ?- ; Allow accessing, from PHP's perspective, local files with LOAD DATA statements
1 k9 y; H5 } i+ v/ T7 Q - ; http://php.net/mysqli.allow_local_infile! D/ t, a7 v* K
- ;mysqli.allow_local_infile = On
: `1 p, }) ^6 ]5 _+ P# d! m7 j - ! c" \9 x* z2 S. X
- ; Allow or prevent persistent links.( j3 d( V5 L0 n/ O; i# V1 H9 u% \1 U
- ; http://php.net/mysqli.allow-persistent W) F4 C" w/ W4 w( c7 {
- mysqli.allow_persistent = On& k: `- Z* `: q) a! F
: A9 t6 [3 y0 I5 `- ; Maximum number of links. -1 means no limit.3 F- r9 j( z4 u1 k- _3 o& S
- ; http://php.net/mysqli.max-links
) V& O8 t5 C @' h3 l - mysqli.max_links = -1
! f3 \1 | [( V0 a7 _
) p" T9 Z! ]! i' X- ; If mysqlnd is used: Number of cache slots for the internal result set cache+ g4 P8 K g4 P9 i1 u# ?, u
- ; http://php.net/mysqli.cache_size0 @- K: V% c1 M* v+ i
- mysqli.cache_size = 2000
4 ~9 I% ^ u! R# d - ) m ^4 Y- C# ]
- ; Default port number for mysqli_connect(). If unset, mysqli_connect() will use
* h- r! {6 o" u7 E* b - ; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the8 u4 Y5 l; ]0 t0 S% V1 V* H. x& B
- ; compile-time value defined MYSQL_PORT (in that order). Win32 will only look# D. W# S6 E$ m* Y: `+ n7 I" w
- ; at MYSQL_PORT.# ~; A& @! q# ^$ J
- ; http://php.net/mysqli.default-port% T. L3 o- _9 A8 `3 J" `) }% E
- mysqli.default_port = 3306- w$ K2 L* s" k& j6 @/ q3 m
8 _# f. M" ^% w- ; Default socket name for local MySQL connects. If empty, uses the built-in# j1 g2 s' x6 q
- ; MySQL defaults.) d0 n k: x) D! f" N
- ; http://php.net/mysqli.default-socket9 W' m w" r) I
- mysqli.default_socket =
9 g, k) b# g; y
! t3 f) P0 r7 z: P0 \3 U. C- ; Default host for mysql_connect() (doesn't apply in safe mode). T( s- X# D- ^; x! [
- ; http://php.net/mysqli.default-host
0 G' \6 F! o0 c - mysqli.default_host =; ]& @, V0 J; m
3 i7 V( J1 Y9 b) C! `/ Z- ; Default user for mysql_connect() (doesn't apply in safe mode).. ^) ~- t& s3 G$ O& t4 @" Y% _0 _" o
- ; http://php.net/mysqli.default-user
/ D, D# [! J. H7 r - mysqli.default_user =
0 B; X7 ~% f5 z1 i& B I
% S# U4 T; u* @! `: L: z- ; Default password for mysqli_connect() (doesn't apply in safe mode).- h% Q8 [6 Z6 [5 A
- ; Note that this is generally a *bad* idea to store passwords in this file.* G6 B, j: n0 {' k4 P p0 c
- ; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw")7 S, }6 \0 P. z
- ; and reveal this password! And of course, any users with read access to this/ h. a \( p% [: _
- ; file will be able to reveal the password as well.
# ~! h" m! a( x% `: | - ; http://php.net/mysqli.default-pw8 f& M1 _0 q V
- mysqli.default_pw =
/ b# W" v$ T5 d; f - ; \ ^, D" C. v; ^! P( Y
- ; Allow or prevent reconnect
# z5 e' M: O* P5 @ - mysqli.reconnect = Off: I) d+ s, N* M' X# X9 f- b9 [
0 ?- q9 \7 g) m- [mysqlnd]& u+ l' P; v w% q* }
- ; Enable / Disable collection of general statistics by mysqlnd which can be
3 S8 }3 |" I8 W - ; used to tune and monitor MySQL operations.
) E# m, h6 h' o5 E( S4 Y - ; http://php.net/mysqlnd.collect_statistics6 H# t5 h6 f# M) O& T t. \5 I* M
- mysqlnd.collect_statistics = On: H4 g- U: `$ r5 @3 a
" g9 I5 f( k* _# {( R" K+ L- ; Enable / Disable collection of memory usage statistics by mysqlnd which can be
3 D+ h( b+ ]4 c1 a& `0 f6 g. } - ; used to tune and monitor MySQL operations.
8 L) `# E% w8 f - ; http://php.net/mysqlnd.collect_memory_statistics' l$ s! l9 q8 `
- mysqlnd.collect_memory_statistics = Off
) E4 w* B* c( l5 H
# G. J4 u7 p+ ]2 u. e9 {- ; Records communication from all extensions using mysqlnd to the specified log
" ]6 r$ I: |' u0 u: \3 A9 y5 a% R - ; file.
6 {0 g! U: B! C& j. o+ Y - ; http://php.net/mysqlnd.debug
5 Z/ q9 f' C9 O& d - ;mysqlnd.debug =# u4 v+ q! H# E6 w
- 3 `: J. a: c! V2 m0 J* A
- ; Defines which queries will be logged.* u3 E& l7 a1 W7 _6 R4 ]
- ; http://php.net/mysqlnd.log_mask" V3 s4 q) r8 Q$ ]( m
- ;mysqlnd.log_mask = 0
3 I9 a+ P/ d% \$ v - ' g- l' G t+ y7 C5 @
- ; Default size of the mysqlnd memory pool, which is used by result sets./ c5 Q! n0 ^3 H
- ; http://php.net/mysqlnd.mempool_default_size% g- f) t1 _' Q3 Y3 i: E( r+ Z" E
- ;mysqlnd.mempool_default_size = 16000: A P, Q$ S$ y- ^
: @- T$ n2 c8 w$ |- ; Size of a pre-allocated buffer used when sending commands to MySQL in bytes.
& D- V- N S8 c! s8 z+ W" B/ J - ; http://php.net/mysqlnd.net_cmd_buffer_size
5 B+ A3 J; x" u+ E- {8 }( m - ;mysqlnd.net_cmd_buffer_size = 2048
1 [; {8 T0 j0 P E+ y
' H- z. b4 H; t" ~5 d- ; Size of a pre-allocated buffer used for reading data sent by the server in
9 Y, [" T' T& V. m( e - ; bytes.& l2 K2 {2 r& ]! t8 J9 F4 i
- ; http://php.net/mysqlnd.net_read_buffer_size
( b; r9 q* e: D% @3 R$ p# R - ;mysqlnd.net_read_buffer_size = 32768+ n$ j* ?1 ?/ H _
- 6 M3 N; [! J3 g; g
- ; Timeout for network requests in seconds." | w) D# U+ q# N! J
- ; http://php.net/mysqlnd.net_read_timeout
6 Y, I: H: M& s5 ]* \ - ;mysqlnd.net_read_timeout = 31536000
3 Z" N5 o7 y2 M
! \# v; p" ~, B: r1 m8 _# E- ; SHA-256 Authentication Plugin related. File with the MySQL server public RSA# \0 z, u2 g9 _+ o
- ; key.( r+ c" a3 u$ D$ ?3 y/ M
- ; http://php.net/mysqlnd.sha256_server_public_key t( v o& l" w) r+ [9 m
- ;mysqlnd.sha256_server_public_key =
- V' o( H( [& p" e
( w6 [5 T8 M. E% l' G5 A# G& {- [OCI8]* v! w9 M; ~3 R: L/ l
- + l- g9 N; z# T0 @4 x9 m s4 i- H
- ; Connection: Enables privileged connections using external3 ]$ @. v% g3 y, o' E
- ; credentials (OCI_SYSOPER, OCI_SYSDBA)
% p2 w! U8 `7 D* ~& z+ G( Q - ; http://php.net/oci8.privileged-connect; u5 w2 Q2 ^' N2 _/ _$ \ [
- ;oci8.privileged_connect = Off
# L5 F6 ?0 P# O( U; F
. L) h- ^% F$ {( \2 O9 R$ I- ; Connection: The maximum number of persistent OCI8 connections per# y2 @$ n: e1 W$ {
- ; process. Using -1 means no limit.0 [ `0 H/ v8 z
- ; http://php.net/oci8.max-persistent2 [3 C. H1 K! N z$ F( l* M
- ;oci8.max_persistent = -1
p4 z# Q! r9 S& X& E O" l - . |$ u" i' d, J8 h$ C
- ; Connection: The maximum number of seconds a process is allowed to
* d4 m6 m1 L# s/ t/ F* a - ; maintain an idle persistent connection. Using -1 means idle1 q7 }( G, I4 S' ~
- ; persistent connections will be maintained forever.# @7 z; T/ M. m3 i" ^) ?% r* j
- ; http://php.net/oci8.persistent-timeout
) l4 a1 m' e5 @( y; q6 r2 n - ;oci8.persistent_timeout = -1
8 M1 L0 }& V. M; b# |& k, S, \6 \% M
! }; l! l; ~' z) `2 l3 S5 u- ; Connection: The number of seconds that must pass before issuing a
7 s' i6 c9 D+ }( o4 y& x - ; ping during oci_pconnect() to check the connection validity. When
0 ]" }% U' t6 T. w3 O- X% c0 M1 ]; L - ; set to 0, each oci_pconnect() will cause a ping. Using -1 disables
) K4 [% N5 R1 P N4 G! [, R - ; pings completely. e; r3 S" e0 k& T2 `5 G% b
- ; http://php.net/oci8.ping-interval
. }& B2 z. C* l6 u. V" Z" Y, e" z - ;oci8.ping_interval = 601 y+ d4 l+ c& _$ f5 \0 o
- 2 l, c, X+ ?; t- U$ G$ N
- ; Connection: Set this to a user chosen connection class to be used+ k0 l; t- _* V4 x. [: N1 ?
- ; for all pooled server requests with Oracle 11g Database Resident
, Q" B: b4 y( N) G1 Z) T - ; Connection Pooling (DRCP). To use DRCP, this value should be set to
r0 z! T8 w" B0 m9 q* ]( Z4 R \1 l7 h - ; the same string for all web servers running the same application," p' f4 `( r9 G, O
- ; the database pool must be configured, and the connection string must; i: l$ Y9 E2 n6 n8 S* E
- ; specify to use a pooled server.8 M, T a7 H* _" ?
- ;oci8.connection_class =
% x% \ a" H& d: J8 w
1 U1 I, u& n5 F- ; High Availability: Using On lets PHP receive Fast Application
4 F" \; R; u6 N - ; Notification (FAN) events generated when a database node fails. The6 c) O$ h/ D5 t" v! Y
- ; database must also be configured to post FAN events. |7 \/ i5 r R5 |; T- N+ v
- ;oci8.events = Off1 r d/ e: a. i9 }$ m! b
- / C4 i8 e' g- @( N$ }! h* u% L7 a& {
- ; Tuning: This option enables statement caching, and specifies how
. J k* [8 V& I4 s" m - ; many statements to cache. Using 0 disables statement caching.
+ Q0 O& {0 y6 T) u% ]7 P - ; http://php.net/oci8.statement-cache-size
/ T) w* m) M! Z% F# y& b4 J# E- C# q* @5 J - ;oci8.statement_cache_size = 208 M$ R7 ~% N. _, Z, ?& ]4 B g- M* W
- 4 o5 e0 h/ a7 y4 M3 ]7 I. j
- ; Tuning: Enables statement prefetching and sets the default number of
2 U* M) B! I( u8 L7 V* E - ; rows that will be fetched automatically after statement execution.. |8 U' N+ U' E1 g/ n+ b" |
- ; http://php.net/oci8.default-prefetch: i& z* Z6 W+ C$ P- K
- ;oci8.default_prefetch = 100! ^- ?+ n- w5 x2 _$ j) x! ^
- - M' k% c2 q/ {$ a p) ~& s
- ; Compatibility. Using On means oci_close() will not close
4 y( G& w5 r' Z - ; oci_connect() and oci_new_connect() connections.
/ K! o m) G G* ~$ a8 d- q A - ; http://php.net/oci8.old-oci-close-semantics
7 q8 ^" x' @: g+ c, p5 Z# ~ { - ;oci8.old_oci_close_semantics = Off
! ` b4 F6 e8 S3 |, U6 p - 1 n( J( K2 T1 a8 ]
- [PostgreSQL]
# l" P0 U) J5 a1 A - ; Allow or prevent persistent links.! D+ P( h. R/ x0 q; a! T
- ; http://php.net/pgsql.allow-persistent
9 V5 d6 W: v X - pgsql.allow_persistent = On+ e: O e3 Y( n2 ]. l
$ g- A/ B' G5 `! H; Q3 C) ? u/ Z- ; Detect broken persistent links always with pg_pconnect().
8 s7 j0 G9 U, N# s( `( ^ - ; Auto reset feature requires a little overheads.! @" [! u8 r- ~. g' w
- ; http://php.net/pgsql.auto-reset-persistent
$ d$ \: P, c1 j- e5 ?2 `* _$ W - pgsql.auto_reset_persistent = Off5 M" K3 A; r$ o
- ( Q& f |% J& F9 _" i0 t
- ; Maximum number of persistent links. -1 means no limit.
7 k2 G. ^/ M n0 D4 \* O) C - ; http://php.net/pgsql.max-persistent$ C- i5 P9 J7 s1 `$ Q- w/ R
- pgsql.max_persistent = -1
- k/ _) v) |- w$ i: o1 R. T0 W
, `; ]3 L$ |! O1 ?( D- X- ; Maximum number of links (persistent+non persistent). -1 means no limit.
, k# J! v' Z: A$ F G% S6 W - ; http://php.net/pgsql.max-links/ b7 V+ `( c8 V
- pgsql.max_links = -1
; A, V. b1 c5 @6 H0 F5 n) f# b2 h - + K& [5 f( `; v5 A; ~
- ; Ignore PostgreSQL backends Notice message or not.
2 _0 y9 o6 t7 o9 j6 |& r - ; Notice message logging require a little overheads.
$ Y$ i$ S) v4 T4 \% w - ; http://php.net/pgsql.ignore-notice# B! E+ n% q' [
- pgsql.ignore_notice = 0% J8 R" z; r/ l M* ~" Z+ G z& I7 V
- 1 n$ X; C4 w$ M4 L2 s1 ]! O5 }
- ; Log PostgreSQL backends Notice message or not.% g! T' Z+ ?- a! s0 C5 Y+ h
- ; Unless pgsql.ignore_notice=0, module cannot log notice message.
- a' w" }0 h; D7 ]: r) O$ S+ i - ; http://php.net/pgsql.log-notice3 u% c i2 ]5 A
- pgsql.log_notice = 06 ?, `- @$ N0 A
, [: p% K i \) b% g K5 {- [Sybase-CT]+ @; }, T, |! Z* P
- ; Allow or prevent persistent links.0 @$ y9 k4 y5 E; V/ f; U' @
- ; http://php.net/sybct.allow-persistent4 u& P! F6 z; ]: o0 K: G B
- sybct.allow_persistent = On
, X( H _8 K" \5 C' g - 1 v Y# o0 P# Z% Y# `
- ; Maximum number of persistent links. -1 means no limit.: j; L9 M$ P+ ^ P$ P: o; v, J
- ; http://php.net/sybct.max-persistent
# f4 u: P$ c6 w1 H( Z9 i* [ - sybct.max_persistent = -1& l3 l3 u7 ^' P" i9 v. y. B& b
7 r( r# h, S# }( d9 ~- ; Maximum number of links (persistent + non-persistent). -1 means no limit.
% I! A# l" {/ q y - ; http://php.net/sybct.max-links
2 w! l2 G+ R$ x - sybct.max_links = -13 q4 y, U) p9 o# q V
% j) T: a: m+ B2 m& {# `. l. U! B- ; Minimum server message severity to display.
! M! @: V8 @7 g7 L: n - ; http://php.net/sybct.min-server-severity9 X9 D1 A& `% e5 U- r
- sybct.min_server_severity = 10
) v% T7 m- M) [2 |
( i0 N8 ]7 P4 M+ q- w- ; Minimum client message severity to display. W; {9 G* j! m4 m# a/ C
- ; http://php.net/sybct.min-client-severity3 i, M* [! D0 b" e
- sybct.min_client_severity = 10
$ t- l9 W& o% D- W5 G5 Q' J0 x) s* @ - ) \/ [2 E5 z7 \2 M
- ; Set per-context timeout" w9 Q' T3 v/ o# B+ M
- ; http://php.net/sybct.timeout
( j' c& @* t! i, e+ Q* S5 x+ q - ;sybct.timeout=/ b: ~1 M5 U9 _* \
1 A J6 N1 K/ N" c, Z- ;sybct.packet_size8 T) n. G7 x8 f( y1 `9 `
- 4 b8 l! E+ \7 P( ~6 a
- ; The maximum time in seconds to wait for a connection attempt to succeed before returning failure.
0 \. T& J" |1 C- m+ S( D" F - ; Default: one minute' }5 M7 D# l J1 d- t7 H+ f
- ;sybct.login_timeout=* M; s0 z6 n/ H7 t* D; {
- . l# M- M0 V% p# ]! _
- ; The name of the host you claim to be connecting from, for display by sp_who.
% r: @9 ? W' H D2 j, O - ; Default: none
8 r7 X* x% r2 X Q - ;sybct.hostname=
0 \9 [! b$ ~3 [* C4 q6 I - " A! y' B" E/ R3 g. N5 v: }
- ; Allows you to define how often deadlocks are to be retried. -1 means "forever".7 M& p9 n& X) ]3 D
- ; Default: 0
1 @/ V, e) s, S' l. M, i - ;sybct.deadlock_retry_count=
% i7 t+ x8 T# H% N% m' x - 8 R( h" Z# a1 q9 N
- [bcmath]
. l; `# b( D6 y - ; Number of decimal digits for all bcmath functions.' V9 k3 N8 k+ r k+ i. A
- ; http://php.net/bcmath.scale
/ G% b+ \! l: Q. {! F - bcmath.scale = 08 O: H/ i4 [# J& M* I! _$ ] h
, w+ T" Q. C; ?- R q) [) {- [browscap]$ E; ?) t- J2 T$ u" r0 J* [/ M
- ; http://php.net/browscap: G0 m" B* r% H* P4 }
- ;browscap = extra/browscap.ini. W/ l8 a$ _9 v
- ; v |" L2 X: y0 U5 }# U
- [Session]
- @5 V; Y6 X% W - ; Handler used to store/retrieve data.
@* N5 S5 _' i4 d# j - ; http://php.net/session.save-handler/ A' _/ k7 B8 P
- session.save_handler = files
% w5 z: {: C1 ?
. ?& I5 `" g/ ~- ; Argument passed to save_handler. In the case of files, this is the path Z1 { ]5 X9 s0 v' u, E
- ; where data files are stored. Note: Windows users have to change this5 u$ I% _% a* }7 F
- ; variable in order to use PHP's session functions., e" B: R! _- z6 E; i$ v4 \
- ;
( `1 e# l) v3 P# m! G6 G, o" Z: M - ; The path can be defined as:# a1 j9 d. v! n4 ~- r c& l
- ;* w; X4 ^) ~6 J
- ; session.save_path = "N;/path"
# b9 i! \) d* s! J% r# p4 ] - ;
I3 x& k2 b/ G8 E- B7 C - ; where N is an integer. Instead of storing all the session files in
' `! g* g9 Q' \- j - ; /path, what this will do is use subdirectories N-levels deep, and% q( Q5 R% r/ q
- ; store the session data in those directories. This is useful if
* I" ~) l1 f" p0 j - ; your OS has problems with many files in one directory, and is) [5 S( c4 @$ Z8 |( b8 e# k
- ; a more efficient layout for servers that handle many sessions.
1 W# q' ^; G7 K! |5 a - ;
, s+ Q# z8 W. s# T, Z/ { - ; NOTE 1: PHP will not create this directory structure automatically.
3 X2 c. n1 o5 ~1 b+ x - ; You can use the script in the ext/session dir for that purpose.
' R4 W0 @( A9 u# U$ W - ; NOTE 2: See the section on garbage collection below if you choose to" A5 J5 V; @: ^. i* C- v$ S& t
- ; use subdirectories for session storage( J" g1 B# g5 t" k1 U
- ;' P4 a5 ^4 T" E7 X9 j6 R
- ; The file storage module creates files using mode 600 by default.
* k u& ~) p! K6 k: Q - ; You can change that by using! c, C0 V$ }# W8 F( k: Z
- ;7 c5 z' r! U- {3 ]5 C
- ; session.save_path = "N;MODE;/path"
* i3 u: p& N8 x5 } - ;
4 g8 U3 `. o! ]# Q6 [* J - ; where MODE is the octal representation of the mode. Note that this% }7 K# M, B3 Z! ~5 \( U& m
- ; does not overwrite the process's umask.: Y3 _% H4 m" w% u9 ?$ U$ Y
- ; http://php.net/session.save-path
" n, U1 ?1 c6 q P+ X - ;session.save_path = "/tmp"4 k. K/ W- y& y
- 8 ?0 g4 B" f# M' X/ c
- ; Whether to use strict session mode.
. I7 A. D+ D6 O( J% _" E- U - ; Strict session mode does not accept uninitialized session ID and regenerate
/ X% z' E3 `5 m! H- Z2 o - ; session ID if browser sends uninitialized session ID. Strict mode protects' H y/ F; \9 `& r0 d
- ; applications from session fixation via session adoption vulnerability. It is
! q% u; g+ v" u: b- r - ; disabled by default for maximum compatibility, but enabling it is encouraged.
- x8 M# ]5 j0 j+ E" ~$ b6 x% Y - ; https://wiki.php.net/rfc/strict_sessions* H I! L" U" K. p) Z( ?% {
- session.use_strict_mode = 0
) \ n' }1 j" n8 ?" ?+ w) @3 r& d
5 [3 G3 h' V- F7 I X; ~9 @- ; Whether to use cookies.
7 O; Q/ b5 ~+ @# s" {( Z; i" s% { - ; http://php.net/session.use-cookies( v( E% E* ^% G
- session.use_cookies = 1, L/ T4 J* m# }: G( S; F4 G
- 9 y5 d u* t4 s: a- I! F: `
- ; http://php.net/session.cookie-secure1 M# L3 ]7 e# Y( H) u
- ;session.cookie_secure =9 _3 z7 Q7 z, g3 H4 S
- : m8 P- t: O% E% i) F
- ; This option forces PHP to fetch and use a cookie for storing and maintaining( @* m7 S6 W9 t( H) m* w( X
- ; the session id. We encourage this operation as it's very helpful in combating
R6 F) m% o5 @ - ; session hijacking when not specifying and managing your own session id. It is
0 k" y4 B8 `( v; e& M7 U - ; not the be-all and end-all of session hijacking defense, but it's a good start.9 u& b$ x0 P: Z5 z/ K4 b# K
- ; http://php.net/session.use-only-cookies
% T& v3 o% @; b9 v& C - session.use_only_cookies = 17 k/ f) x5 R: V2 i+ V1 w' ~
5 }* g2 S$ [* }- ; Name of the session (used as cookie name).
1 x: V- U2 Q; u" }2 n, I - ; http://php.net/session.name
+ L) m% t! f' M. P0 b0 c' d - session.name = PHPSESSID
! n% a$ D; A2 X3 l) e
$ @1 ^. d' {0 {: i- ; Initialize session on request startup.+ p/ d& c3 M l6 k# J# c- p6 t
- ; http://php.net/session.auto-start
0 L5 Q$ E- N+ `6 d/ } - session.auto_start = 0( r8 R; v$ P1 I5 B" l5 x
- - A5 ?* m ~/ S# w2 V8 \1 ]
- ; Lifetime in seconds of cookie or, if 0, until browser is restarted.2 z" G* l4 |1 t% s0 \9 E# e# f5 Y
- ; http://php.net/session.cookie-lifetime. E' V# t8 c1 W8 s
- session.cookie_lifetime = 0
3 L6 [; C/ I2 R6 {" b8 O: `5 B$ Y; _
7 u& U) U' K+ ?# i- ; The path for which the cookie is valid.% s) a4 x3 H3 H+ u2 m% z
- ; http://php.net/session.cookie-path
$ ~1 J7 [) F7 P4 x5 x( w - session.cookie_path = /( p. A9 v6 ]# ?; G: r8 d
- / J: Z1 G g+ v8 q# O: \" Z
- ; The domain for which the cookie is valid.
% b0 [7 d7 P0 R( Y - ; http://php.net/session.cookie-domain2 E( {) u+ v# e. `- y
- session.cookie_domain =: J4 k5 J n2 i
+ [. L' D# Q& A4 c) i6 u/ |- ; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript.
' T/ I' X: ~% V7 V8 p; |% @$ @/ `3 R - ; http://php.net/session.cookie-httponly! c6 D: c1 y: l$ l
- session.cookie_httponly =# o+ G$ n+ m1 V
- $ e& R% O+ ]3 d" }( _9 j
- ; Handler used to serialize data. php is the standard serializer of PHP.6 E* ^. t* B5 W) a/ S' x5 r+ j
- ; http://php.net/session.serialize-handler& s- }% ]( l/ m% w* T
- session.serialize_handler = php# [* U9 G7 {& t! T0 h: v( @2 l
6 y6 }- B8 g1 b- ; Defines the probability that the 'garbage collection' process is started0 n. N1 j" y& ?/ N* U, ]- B
- ; on every session initialization. The probability is calculated by using
# Z9 r$ w% O; k: h, c6 J - ; gc_probability/gc_divisor. Where session.gc_probability is the numerator4 d7 J. g. |4 l
- ; and gc_divisor is the denominator in the equation. Setting this value to 15 U; X) _* s+ [7 I- g6 w
- ; when the session.gc_divisor value is 100 will give you approximately a 1% chance# L( ~1 U$ [ r/ r
- ; the gc will run on any give request.3 g# F! ?6 t; P8 t6 x9 B: l
- ; Default Value: 13 H/ a' Y1 m5 A& ]+ o
- ; Development Value: 1
, J/ {1 G( z/ D- d* C7 T - ; Production Value: 12 T' h" \ k" v8 T- @
- ; http://php.net/session.gc-probability! z1 ]8 q* p; h0 `& _5 I: m" @" {
- session.gc_probability = 19 n: N" D( k- |+ K2 p
- 3 n% ~ M# r! S6 Y
- ; Defines the probability that the 'garbage collection' process is started on every
# j( G% j6 F/ j- w - ; session initialization. The probability is calculated by using the following equation:. p; X; [7 W$ ?( g- y+ j
- ; gc_probability/gc_divisor. Where session.gc_probability is the numerator and7 M2 a8 }% P9 v1 i) R M
- ; session.gc_divisor is the denominator in the equation. Setting this value to 1! o* P! u. u2 |( M
- ; when the session.gc_divisor value is 100 will give you approximately a 1% chance! d; H; d9 I1 t/ w5 j. r
- ; the gc will run on any give request. Increasing this value to 1000 will give you! F7 Y, S# u1 W8 R
- ; a 0.1% chance the gc will run on any give request. For high volume production servers,
) s# |' s$ D3 S ]- I$ Q5 B - ; this is a more efficient approach.
/ e1 z! z4 g) t9 T* M- ~% J - ; Default Value: 100* s, ] t3 [- ]& o# F
- ; Development Value: 1000/ Y, y5 _6 G+ p7 E- n, l
- ; Production Value: 1000
* P7 i- E4 r; ~4 _, ]# Q6 g/ L - ; http://php.net/session.gc-divisor# r6 m0 z" ^" \. b* s @6 d( S
- session.gc_divisor = 1000
8 O9 h' X# I0 q; r2 o6 `1 P
) R% y+ M% K* b0 S0 V: G" _- c- ; After this number of seconds, stored data will be seen as 'garbage' and4 G9 e Y$ U4 _) C8 v4 k
- ; cleaned up by the garbage collection process.
! r3 O" D. H" S- l, d) G4 m - ; http://php.net/session.gc-maxlifetime& R$ W5 M( {* J8 D _
- session.gc_maxlifetime = 1440
% I: @' {$ W l# Z9 [
5 x- r6 L; I/ n( M( T- ; NOTE: If you are using the subdirectory option for storing session files4 d3 N) y/ e% n+ D0 p
- ; (see session.save_path above), then garbage collection does *not*
" h$ c% R( f/ f- ~" _1 P - ; happen automatically. You will need to do your own garbage+ ^: E' [, T3 E# @- y# q. W( C% Q
- ; collection through a shell script, cron entry, or some other method.
% d2 C! H. [5 q+ s" a2 d( e - ; For example, the following script would is the equivalent of
- s* C* b+ f( p( J7 Q7 K& u - ; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
5 {9 R5 Z% }: e - ; find /path/to/sessions -cmin +24 -type f | xargs rm$ q* h; D# E. Q6 Y& U9 A
- % Y, A" _( ^; e5 q! E8 }
- ; Check HTTP Referer to invalidate externally stored URLs containing ids.
% Q/ p0 d% o" a7 e0 W1 ?9 H% L - ; HTTP_REFERER has to contain this substring for the session to be
5 C U0 V% u6 x6 l - ; considered as valid.
6 [2 i8 z+ [3 t/ [0 z - ; http://php.net/session.referer-check
' @1 C+ J" N+ F; }& r - session.referer_check = V8 s Q( Y7 S; B' ] C' v
- * F, G5 e# h9 H9 F
- ; How many bytes to read from the file.
, b0 c: u. j( V- U" i" b5 k' z6 P. V - ; http://php.net/session.entropy-length& A0 P, N7 j% i. h
- ;session.entropy_length = 32" D/ N5 V( V& D- H1 k. B
- ' i$ k7 R$ n) R3 b H9 ~. h
- ; Specified here to create the session id.
s- {, _% ^/ D- } - ; http://php.net/session.entropy-file
9 `7 R8 f! l# b - ; Defaults to /dev/urandom" A# _1 C$ P6 ]4 g8 H. @. z
- ; On systems that don't have /dev/urandom but do have /dev/arandom, this will default to /dev/arandom
8 Q, \( ~# \& Q - ; If neither are found at compile time, the default is no entropy file.
& y1 Y3 p5 H% H5 b: C/ ` - ; On windows, setting the entropy_length setting will activate the
/ Q$ B: l# ^( N: { K - ; Windows random source (using the CryptoAPI)
- j3 I! L, ]5 N5 \; G9 A* \ - ;session.entropy_file = /dev/urandom
) N4 v- ~+ m4 J7 v
- C: n7 R( ]2 Q7 X- J- ; Set to {nocache,private,public,} to determine HTTP caching aspects4 O0 a4 i5 Z, q* A+ S1 [" |: R
- ; or leave this empty to avoid sending anti-caching headers.* V% y- r+ O6 _6 X, M
- ; http://php.net/session.cache-limiter
0 Z# x& z4 u, ?8 R3 X! } - session.cache_limiter = nocache0 d* k4 }6 W4 z; k$ U' B5 R9 c
5 [, C# G+ f: k" ?) ~! ?5 R6 G- ; Document expires after n minutes.$ a# K7 f: ~& x# k
- ; http://php.net/session.cache-expire! `0 v5 j5 y, R! F4 d4 @2 j6 b
- session.cache_expire = 180
+ ~7 _% i* ?) n) T, o$ Y - 6 T7 H( S, G; [. m3 ]
- ; trans sid support is disabled by default.
: ^7 p! u/ E/ g/ e! G# h5 {8 J - ; Use of trans sid may risk your users' security.
* k5 n) P9 U! Z" H - ; Use this option with caution.2 X8 C$ F; S+ d! x) T* K/ I( @
- ; - User may send URL contains active session ID4 s! k( T. c6 b, `
- ; to other person via. email/irc/etc.
& K e$ c: N: [+ `9 |; q - ; - URL that contains active session ID may be stored
# H- R0 Z9 P% b8 n: W; ? _ - ; in publicly accessible computer.2 D9 q# V$ r; w
- ; - User may access your site with the same session ID
: i+ J! y9 t) a3 i& e& g - ; always using URL stored in browser's history or bookmarks.4 E. I, `8 v) a/ I m8 ?, |# S: [
- ; http://php.net/session.use-trans-sid
( \5 m* ?3 y/ P' U - session.use_trans_sid = 05 Q* T3 o6 k9 w+ y" c4 F" a
- 8 \' Y, o2 L* v, o2 Y% ~- @
- ; Select a hash function for use in generating session ids.8 L0 b3 n* ^9 x5 b
- ; Possible Values
+ ]( L8 K: ~; L- U - ; 0 (MD5 128 bits)- {. ?& _; o4 K
- ; 1 (SHA-1 160 bits)1 X, E! C0 n' _ B! S
- ; This option may also be set to the name of any hash function supported by
4 | _3 j7 V3 S5 d6 z - ; the hash extension. A list of available hashes is returned by the hash_algos() m' j4 H/ @) \6 f6 @
- ; function.
4 i: [6 {: a% f2 r+ F! Z. h1 [ - ; http://php.net/session.hash-function
: k. y) K8 F8 W$ m4 v" |3 ~( { - session.hash_function = 0
: @( E: U0 {1 T- M- {9 ]. M - 8 D! K" }* o0 @- k/ s! ^; _/ p
- ; Define how many bits are stored in each character when converting/ }: Y& Z! p) u, i; Q7 u
- ; the binary hash data to something readable.1 a7 _2 A& v; {9 x" `
- ; Possible values:
8 M I! {0 W; t e$ l - ; 4 (4 bits: 0-9, a-f)+ k( r1 _% l7 N: r! J2 h4 d
- ; 5 (5 bits: 0-9, a-v)5 k1 Y: ^' D" B- k% z9 d( o3 U4 m
- ; 6 (6 bits: 0-9, a-z, A-Z, "-", ",")
+ n9 {$ [. @. U8 ?8 r) A - ; Default Value: 40 q3 h9 q1 N/ Q2 f' D4 H9 n" b
- ; Development Value: 5% k# C$ \% D, d. P
- ; Production Value: 5- M* M4 o, _( R: f6 e
- ; http://php.net/session.hash-bits-per-character9 i% [+ o8 X$ Z1 ^! p+ Q
- session.hash_bits_per_character = 5% d2 c2 y4 w6 S
A) c6 X. N$ n+ E9 ?, ] K- ; The URL rewriter will look for URLs in a defined set of HTML tags.7 {; n' r" `5 H4 B. X5 s! v9 d" N
- ; form/fieldset are special; if you include them here, the rewriter will4 A! ?7 e" H! P' p2 ~1 Q3 k
- ; add a hidden <input> field with the info which is otherwise appended+ ^" F# }+ o9 C+ c% r8 a
- ; to URLs. If you want XHTML conformity, remove the form entry.1 l) [) y+ Y t. K' n, M; Z
- ; Note that all valid entries require a "=", even if no value follows.
6 }$ J" g9 @* d( y& Q" S6 V7 g3 d. g - ; Default Value: "a=href,area=href,frame=src,form=,fieldset="
1 R: D2 Y1 r( E - ; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry"0 O4 B. b, z1 ~) K9 I& `
- ; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry"& w/ ]' {* y- [2 s2 r5 |; E2 X7 z/ q
- ; http://php.net/url-rewriter.tags
, C& i/ z/ Y r3 w - url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
5 b% Y3 A& O- y4 d0 K - - ^6 o' Y* C9 M( f/ G' i
- ; Enable upload progress tracking in $_SESSION
) |$ E. k( ^& `2 L - ; Default Value: On
6 E( }0 a! W/ n6 r - ; Development Value: On2 ]: W! c4 k# m' X( |' l
- ; Production Value: On& ?9 ^4 X7 d, _
- ; http://php.net/session.upload-progress.enabled, v& `( y+ [/ R O! H" d
- ;session.upload_progress.enabled = On9 A1 x" K# I, }8 V! v
- ) Y/ R3 w* \7 l* J. B. [
- ; Cleanup the progress information as soon as all POST data has been read
8 z% R0 @* c& v2 q& f - ; (i.e. upload completed).
E" B0 N9 S w7 W0 o$ l- K - ; Default Value: On
9 u( |+ |) o( D1 F' t5 G - ; Development Value: On
# h+ ~: n2 w8 R6 x - ; Production Value: On
$ K; P6 P6 \; }: o$ v - ; http://php.net/session.upload-progress.cleanup
/ m9 R; x* c/ G* u. c5 [ - ;session.upload_progress.cleanup = On" n) s. H J0 x/ \
/ B9 I: A6 t5 r1 S% o$ f1 M- ; A prefix used for the upload progress key in $_SESSION
# b, K) q4 Z+ \+ s( b - ; Default Value: "upload_progress_"
9 [' p4 \7 c" U `# ~ - ; Development Value: "upload_progress_"
/ `4 b* Z. m/ z3 y - ; Production Value: "upload_progress_"+ E" }. S( W! j, l `" h
- ; http://php.net/session.upload-progress.prefix
% O5 C9 V& ~4 t+ g - ;session.upload_progress.prefix = "upload_progress_"
% Z2 b/ r# ~3 }' D - : h' B3 G7 D% R5 \6 I
- ; The index name (concatenated with the prefix) in $_SESSION
4 `% z4 l. @6 g2 v' s7 o5 ], f4 \ - ; containing the upload progress information' `9 ?$ _% O" s" ^; O. b9 ~
- ; Default Value: "PHP_SESSION_UPLOAD_PROGRESS"% [) K; _$ }( P( E+ O& K& d
- ; Development Value: "PHP_SESSION_UPLOAD_PROGRESS"- `: H X, E7 {2 J* O0 q
- ; Production Value: "PHP_SESSION_UPLOAD_PROGRESS"' f2 N* ]; ]" \( e" {+ O0 k
- ; http://php.net/session.upload-progress.name8 E+ v. I; c/ r5 G
- ;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS"
% z u9 r U( ~" @( W% a6 U% A - # G* }$ X L7 _9 j
- ; How frequently the upload progress should be updated.
; K1 y7 b" k0 u: _7 D: @ - ; Given either in percentages (per-file), or in bytes
, j, V! ?& S' q - ; Default Value: "1%"
) j& h+ o( A6 g+ j7 D1 n. c4 H: i2 z - ; Development Value: "1%"
+ q( M& f+ e) |9 Y+ Z9 I - ; Production Value: "1%"& n7 I7 ]$ Q! h8 G( q: S+ S
- ; http://php.net/session.upload-progress.freq
' B: ~1 X* @/ q% l - ;session.upload_progress.freq = "1%"# N& u- m' @8 e
- 7 B+ { u- z7 M/ w$ v/ G
- ; The minimum delay between updates, in seconds
, D* V# V: m9 f* ^+ M - ; Default Value: 1
1 z$ |" z" U: G. ?& ~0 K - ; Development Value: 1
$ c; Z. K, f0 ?' G3 N$ @8 W% E4 D' j - ; Production Value: 1, P u" |( M* [2 x
- ; http://php.net/session.upload-progress.min-freq
: Y$ S) H& ~9 o+ W. | - ;session.upload_progress.min_freq = "1"
2 {3 k1 \- V# m. A" Y( Z0 m3 c, u, Z - % U1 Y- l$ T. ~' k
- [MSSQL]
( c4 `9 m$ O' Z4 E! ^ - ; Allow or prevent persistent links.
3 F! z" R; m4 L+ H( ~: r - mssql.allow_persistent = On! M- R8 i; l" @
. d3 U& a1 x! ~* |1 G' i# S* L- ; Maximum number of persistent links. -1 means no limit.% B; R" y) a2 o& y* }+ H
- mssql.max_persistent = -1$ e. c7 S5 J" J5 p0 v# `
4 t+ K, c1 Y- q Z+ N, X- ; Maximum number of links (persistent+non persistent). -1 means no limit.
i; U8 |) w* V+ h( m/ E* j! U - mssql.max_links = -1
" P1 `9 a% R0 O6 `- @
" c2 {2 P2 T- f- Q+ r- ; Minimum error severity to display.9 D3 ~- J5 N) _ s" z5 H8 j
- mssql.min_error_severity = 10
: j: S' E0 f% Q
, m% {$ Z9 ?- \5 J/ y- ; Minimum message severity to display.
3 N ^4 d; ?$ f4 g6 F9 I1 x - mssql.min_message_severity = 10! [+ W* i+ ^8 {$ P: ?- g8 d0 y. @
- 0 u- g) k$ |6 S. D# E" K
- ; Compatibility mode with old versions of PHP 3.0.6 @0 @- x; C6 `0 F% y+ j) u/ }
- mssql.compatibility_mode = Off
7 `- G, ]/ @. {, g7 c - % Y5 E' S5 B" j9 F) ?* z5 T- D
- ; Connect timeout
+ d: E1 T0 ]5 { K& z2 D8 r* K - ;mssql.connect_timeout = 5
3 _: I0 A2 n8 V: w, B - 7 a! g, b h6 n
- ; Query timeout
! {4 m3 {% O8 `# t; q- b - ;mssql.timeout = 60( S% l2 D9 F$ Y! W& a
- 1 |* C- ]) E, l; Y" u
- ; Valid range 0 - 2147483647. Default = 4096.8 G0 E$ J* k' y1 Q
- ;mssql.textlimit = 40964 U' Y1 e6 \% z1 i+ Z9 ~
7 l7 H' y' B! t' [/ z/ x+ o; p- ; Valid range 0 - 2147483647. Default = 4096.1 m+ m8 `( V% S2 L* Z
- ;mssql.textsize = 4096
* L2 |) {: p: f, p' L; ?" @ - # W; |% r3 w2 X. i- L0 @$ Z7 a! b) x
- ; Limits the number of records in each batch. 0 = all records in one batch. l2 ~4 M0 c; s }, U; T
- ;mssql.batchsize = 0
% D% w" _& c$ u - ! x N" `) u, F
- ; Specify how datetime and datetim4 columns are returned% P( p; K$ h; C
- ; On => Returns data converted to SQL server settings
$ v& Z0 Y% y6 w# k0 {+ J, T$ U2 I - ; Off => Returns values as YYYY-MM-DD hh:mm:ss
8 ], ~1 j o" X8 k - ;mssql.datetimeconvert = On
3 D1 {$ }# W; x' G - 7 O1 f4 ? b% F: C" h
- ; Use NT authentication when connecting to the server, L# w4 J3 d( g6 o( Z+ t
- mssql.secure_connection = Off
; l8 ~( J6 \( k) m6 \
$ j- y' f, l+ v: Y9 Z- ; Specify max number of processes. -1 = library default
% T1 y: C' C4 C7 p - ; msdlib defaults to 25) d) r0 m( g' b
- ; FreeTDS defaults to 4096
, o% X. |" ~0 x) t# |' C( i6 g - ;mssql.max_procs = -1
W* P0 U0 I# ]% k5 S - ' \7 P5 ~1 q& j- n% m2 c' y
- ; Specify client character set.3 A8 @- d0 K+ H" d5 l. d7 k, q+ K
- ; If empty or not set the client charset from freetds.conf is used# Z G2 J& [2 G' N6 K
- ; This is only used when compiled with FreeTDS, \" h/ d# K; R# r
- ;mssql.charset = "ISO-8859-1"
' ?+ d3 R3 |0 z! n' p9 |
* |# P: _0 [2 C4 N" X- [Assertion]4 q& I8 b2 J1 e; D
- ; Assert(expr); active by default.
9 i& h: [# ?5 F! O& F( U4 }* S- V* H, J - ; http://php.net/assert.active9 h( ]5 m9 {7 n( F, r0 i9 c' u
- ;assert.active = On
: U5 [" y! j) M0 b+ y+ Q9 C. i - % D H. T$ V/ m
- ; Issue a PHP warning for each failed assertion.
% d( k3 e9 N& d% }6 v/ j) i - ; http://php.net/assert.warning) j9 q! E5 ^( O9 I, x M
- ;assert.warning = On
3 q, Y7 ~0 D5 n
( Y8 F1 g* }! n. p- ; Don't bail out by default.
' n* [3 n1 o1 P: n* C - ; http://php.net/assert.bail
2 C& T6 J1 Y' r% U# c# J+ Y' { - ;assert.bail = Off
, S+ ~! a" u2 v4 s" q% P; W - - \. K ^9 V0 G+ F+ R
- ; User-function to be called if an assertion fails.% G6 R& K) t, T$ `( ?
- ; http://php.net/assert.callback9 s/ d! b6 Z8 d1 |* J# R
- ;assert.callback = 0
, s0 H; G; v- m$ e* g( o, S
) ? P* j; ^- |. k: g, A- ; Eval the expression with current error_reporting(). Set to true if you want
@& z5 R1 g' I4 [( D* S - ; error_reporting(0) around the eval().
2 J2 \6 e0 H! H1 d i b9 q - ; http://php.net/assert.quiet-eval+ ?2 \; d) J1 r4 Q; M8 A, c3 P+ ~
- ;assert.quiet_eval = 0
2 {1 _# f$ ]7 \/ v# I' k
9 L. `/ I: l' C: g1 e: r) \- [COM]
( {& p o8 G; S* T7 r7 ]# t8 ?4 ? - ; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs
`4 l5 D/ A0 [1 h2 N* }. g - ; http://php.net/com.typelib-file
7 C9 {; q/ O: p - ;com.typelib_file =; |9 O' z0 e; e" T9 i- r
- 5 e7 F4 [9 g8 A, c
- ; allow Distributed-COM calls
?; I& Z1 j" B9 D2 o% s) N - ; http://php.net/com.allow-dcom
% J' M4 c$ s! d0 z5 x - ;com.allow_dcom = true) K" S8 [6 U( I2 v
2 y3 ~/ e0 d% O, h% n" l- ; autoregister constants of a components typlib on com_load()9 ~( b5 ~' j) C3 P! L
- ; http://php.net/com.autoregister-typelib
) S2 ~& @0 k3 e+ \1 z4 s/ ] - ;com.autoregister_typelib = true# F9 y, l$ T' {
- & L5 d3 b! U+ H+ @0 T' J( t3 h* U
- ; register constants casesensitive( i z: U+ F4 I/ [
- ; http://php.net/com.autoregister-casesensitive5 j" D( q& U# [ u6 g* X2 S9 d
- ;com.autoregister_casesensitive = false; P0 c/ m. ^* B) Q6 k3 e; g
- % V0 H2 h( k4 o
- ; show warnings on duplicate constant registrations$ T8 S; ~1 t7 [
- ; http://php.net/com.autoregister-verbose
8 Z6 R6 r& p/ p! ?/ M - ;com.autoregister_verbose = true
; w |0 O8 q6 N/ _( E3 ?3 ?3 a - # @; |7 C( z8 U5 x/ i0 u" P' s
- ; The default character set code-page to use when passing strings to and from COM objects.
7 {3 T7 s( v4 \" I8 ?( C$ | - ; Default: system ANSI code page' n- L6 J5 O8 |% L$ j r
- ;com.code_page=
/ S; k' F% E9 \1 a3 Q# X+ w0 D9 F
6 c& ]6 T. u9 q- [mbstring]
+ X; e, [" k$ i7 N( W/ c7 P - ; language for internal character representation.2 U1 W1 A8 w" |/ \: d
- ; This affects mb_send_mail() and mbstrig.detect_order.
n3 {* a0 ^* j- \6 z+ Q - ; http://php.net/mbstring.language
. y& [/ _- N1 ~8 f7 Q9 W - ;mbstring.language = Japanese
" E# q# P9 d0 E& I6 e' c# f8 s
" f5 S2 V) G+ b$ y) A. N! O7 B- ; Use of this INI entry is deprecated, use global internal_encoding instead.! ]& h$ ~8 D; v' D& y
- ; internal/script encoding.% ?1 N2 w1 B `: x9 E' |9 l/ g
- ; Some encoding cannot work as internal encoding. (e.g. SJIS, BIG5, ISO-2022-*)
2 e( w- o- X+ R$ R - ; If empty, default_charset or internal_encoding or iconv.internal_encoding is used.
7 r+ ]5 k( P0 O$ f# \ - ; The precedence is: default_charset < internal_encoding < iconv.internal_encoding7 n7 A# y8 E. j, m
- ;mbstring.internal_encoding = D/ U2 D" d0 f2 @) Q( m3 Y
- ' I, G/ t! K# d3 Z$ Z, \ p
- ; Use of this INI entry is deprecated, use global input_encoding instead.
. D# j# F; R) x( _8 \: v V% I$ | - ; http input encoding.
3 F9 [7 d3 s) h - ; mbstring.encoding_traslation = On is needed to use this setting./ U0 b/ C. p) w& }4 e
- ; If empty, default_charset or input_encoding or mbstring.input is used.4 o4 [- ^# e2 ?! ^& y q% I- K
- ; The precedence is: default_charset < intput_encoding < mbsting.http_input; d5 r! A- W$ ^3 k1 p
- ; http://php.net/mbstring.http-input9 t5 S) q! a( l, U. O9 T0 D
- ;mbstring.http_input =6 a: Q* Y: e1 D# h
- 1 F I' L. l4 b! D* l, u& L! m
- ; Use of this INI entry is deprecated, use global output_encoding instead.
5 T2 v0 H4 l v) l8 r$ P# | - ; http output encoding.7 n) s R3 H/ i. ~8 y8 ~7 [2 H! c- ?
- ; mb_output_handler must be registered as output buffer to function.
5 {8 \' w7 z2 G - ; If empty, default_charset or output_encoding or mbstring.http_output is used.! P$ ]! x. Q" @
- ; The precedence is: default_charset < output_encoding < mbstring.http_output0 V8 x, k8 I6 C5 E' F
- ; To use an output encoding conversion, mbstring's output handler must be set
5 V# _( J3 L; d# }9 g - ; otherwise output encoding conversion cannot be performed.
6 F, ]- S2 s. z8 h2 ? - ; http://php.net/mbstring.http-output
2 M3 v* @3 |- F8 P! G* Z - ;mbstring.http_output =+ h$ f. l" \, r. L( \! Q% f; l) h) I
6 D) h: _( V: A* N, v( e% L* o/ N4 B) M- ; enable automatic encoding translation according to3 S( v1 m h g T3 j% U. o
- ; mbstring.internal_encoding setting. Input chars are/ V. x% u6 J' u# W2 v- l
- ; converted to internal encoding by setting this to On.
" }9 S7 ~* K% r# ~ - ; Note: Do _not_ use automatic encoding translation for
0 ~0 e! f1 V" A# J$ ?% h1 }# U# _ - ; portable libs/applications.
% m$ ?/ X: m- ^- P1 K8 j - ; http://php.net/mbstring.encoding-translation
0 c5 ~7 H2 p! L - ;mbstring.encoding_translation = Off' s. G. i- N: w% g
- / S# R) \0 D# x2 U L& W% G) @
- ; automatic encoding detection order.
2 i1 z! f- ~5 y+ k( _) u4 b6 V - ; "auto" detect order is changed according to mbstring.language% V& H9 {0 Q8 E I. Q, m
- ; http://php.net/mbstring.detect-order O& ?2 u* ^. l% D- L8 c
- ;mbstring.detect_order = auto+ z( K4 o ]% ?
$ F3 q% e0 o+ [ O: H- ; substitute_character used when character cannot be converted; Y: e4 i) ?# j
- ; one from another1 x1 j/ a5 f2 Y) G
- ; http://php.net/mbstring.substitute-character, M D" Q% }' t3 ?0 b! j0 j
- ;mbstring.substitute_character = none- l( S& x5 O( J: E: A
7 r' m9 }) O2 r) R! W- ; overload(replace) single byte functions by mbstring functions.5 d; h4 `# d( c' P0 [$ E, E* b
- ; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),7 A, D7 j% b( ?9 m+ m/ L
- ; etc. Possible values are 0,1,2,4 or combination of them.! I9 }. |2 p2 s4 Y1 [$ W2 \
- ; For example, 7 for overload everything.
7 p; R$ d/ |9 x8 O; i4 g) f! p% y - ; 0: No overload
8 ]. r3 u$ L4 M8 z3 d; r - ; 1: Overload mail() function4 \* x* U) g! n5 j$ o
- ; 2: Overload str*() functions* k1 ^9 ?% n; j+ @4 \( z
- ; 4: Overload ereg*() functions* V6 n/ m6 [0 d. k8 E |- I
- ; http://php.net/mbstring.func-overload5 L# M6 ~" M* q5 a0 `0 M4 L! Q
- ;mbstring.func_overload = 0
) I- D( l% ~4 l - 2 h; E8 z- o1 c4 E1 t" a& l
- ; enable strict encoding detection.
& H8 c0 D- d, y5 X - ; Default: Off
7 N( @/ N% u4 A# k# `- N" ?+ X O - ;mbstring.strict_detection = On7 ^: G$ X$ P+ k' X4 N. p( n. f
+ X9 _0 O) ^& B, {+ l- {1 [- ; This directive specifies the regex pattern of content types for which mb_output_handler()
1 j) g- d* h8 ~& m - ; is activated.
6 Q$ P( W: L0 k8 p - ; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml)
# T8 C9 b% A G7 o$ C- z - ;mbstring.http_output_conv_mimetype=7 V, ~% |1 X E. i9 I8 i
- % K7 \# K3 B7 C5 T
- [gd]3 h3 y# U$ Z$ }
- ; Tell the jpeg decode to ignore warnings and try to create
% P% k" ]# r$ Z - ; a gd image. The warning will then be displayed as notices9 {3 C) `- \ n4 j
- ; disabled by default
" g0 u- H& F9 I( m: } - ; http://php.net/gd.jpeg-ignore-warning( W0 }2 p" t) A3 k
- ;gd.jpeg_ignore_warning = 0
; Q7 U$ S& Y% j1 \
/ I) O( F/ T% J; Y) @- ]5 ?- [exif]9 K0 h; o; o* ? |1 Z
- ; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS.2 B" K: ]" n1 ~& b9 p
- ; With mbstring support this will automatically be converted into the encoding1 U) `$ m% v& c2 { r8 J# O. V
- ; given by corresponding encode setting. When empty mbstring.internal_encoding( |* Q. I) y2 O T3 }; i
- ; is used. For the decode settings you can distinguish between motorola and
- [3 z+ t9 s% q) G, J+ j- t1 D - ; intel byte order. A decode setting cannot be empty.$ o( U" e3 h4 e* r
- ; http://php.net/exif.encode-unicode8 s0 X' U* q7 E8 O( V2 X, [
- ;exif.encode_unicode = ISO-8859-15/ T4 P6 r3 F* N" S8 x$ j
- 9 x- V% w# S% a( \, F
- ; http://php.net/exif.decode-unicode-motorola
# x& t, L7 n, e6 W. c/ ^ - ;exif.decode_unicode_motorola = UCS-2BE, ^6 z! M# C; `. @6 I
9 t, W6 E7 f2 h- ; http://php.net/exif.decode-unicode-intel
6 F t8 ~7 H1 r4 h1 D - ;exif.decode_unicode_intel = UCS-2LE4 h2 d7 m' W6 s! r! Q
- 7 r! M, x6 w6 u, x
- ; http://php.net/exif.encode-jis
5 r" n6 M4 L( u) m7 Z' k1 i - ;exif.encode_jis =# B1 G, }& J" X T* R( h4 K
% ?/ T4 V- s* Y; M6 M; ?" k2 l) w1 Z- ; http://php.net/exif.decode-jis-motorola
8 d. E C5 p- g8 G% t0 H - ;exif.decode_jis_motorola = JIS) _$ q' Y+ b+ g% h3 W3 Z6 L
, d" [( M# P7 _& s, n- \- ; http://php.net/exif.decode-jis-intel3 B1 k$ u1 y3 [' J+ f/ z, m
- ;exif.decode_jis_intel = JIS- g# o4 O( |8 |5 s( h% w0 X+ M
- ( l$ ~% V0 F9 w! k% v
- [Tidy]
$ E8 I, E6 v% s; L( M' I - ; The path to a default tidy configuration file to use when using tidy j# r6 M6 b+ G7 z/ J! b
- ; http://php.net/tidy.default-config6 D$ b! E9 H8 A1 `
- ;tidy.default_config = /usr/local/lib/php/default.tcfg' L# m/ M6 \. \. P( I
+ I, n8 w9 n0 n; j- p- ; Should tidy clean and repair output automatically?, R D' E4 j" H3 h+ g2 k. W4 [
- ; WARNING: Do not use this option if you are generating non-html content
+ q3 q7 Y1 @# T K$ E: m) | - ; such as dynamic images* h* q/ @! [ M% x3 L1 G
- ; http://php.net/tidy.clean-output
# `8 A7 Q& U! w- Q, p$ s7 ?1 |0 i - tidy.clean_output = Off M U$ {. M# h# G
. ]% n! a. d3 e: P9 Y' ` H- [soap]
& O8 g* f2 \1 B - ; Enables or disables WSDL caching feature." W3 ^% F4 N1 F4 }
- ; http://php.net/soap.wsdl-cache-enabled; i. D. ^2 i% u3 {
- soap.wsdl_cache_enabled=1+ N' S7 N2 u: R4 | K8 X1 f
5 ?, p6 s9 b8 l$ l: o, v Z. u- ; Sets the directory name where SOAP extension will put cache files.0 {) @2 x! M$ Q! u0 H
- ; http://php.net/soap.wsdl-cache-dir% ?( P( q$ _& z4 d6 Y
- soap.wsdl_cache_dir="/tmp"* a; F% }! ]7 t7 t3 j8 x$ P6 t
3 _3 T+ f- \& E& ~% U$ e- ; (time to live) Sets the number of second while cached file will be used
7 ]8 @) V% D0 K! T# y - ; instead of original one.
0 x, S' U# l* g - ; http://php.net/soap.wsdl-cache-ttl1 x' U: R8 l+ y1 W9 S
- soap.wsdl_cache_ttl=86400
5 z* R' f3 l6 J! x" g( ? - + [' M/ i4 f0 e+ O
- ; Sets the size of the cache limit. (Max. number of WSDL files to cache)
8 R7 I _6 g/ M, i) E( ]! a - soap.wsdl_cache_limit = 5
+ l. u% z0 U1 }9 P+ d
$ ~" a. g: J3 U$ ~# h- [sysvshm]' C+ i. w. f( L0 y% I. @" A
- ; A default size of the shared memory segment: L6 O( l- A5 n4 Y
- ;sysvshm.init_mem = 100003 N# m. g3 \2 J1 {
7 M+ h/ E! x. m; `& \2 A- [ldap]
; ]4 d$ _; a* F! Y% d" z - ; Sets the maximum number of open links or -1 for unlimited., m+ e* k, i, u; E
- ldap.max_links = -14 a: P, T3 Y3 [. [/ {0 d- }6 H
- : x7 A* ?( ^/ c' W* D
- [mcrypt]
: v7 F7 e% K1 p) H3 f% p( z3 p - ; For more information about mcrypt settings see http://php.net/mcrypt-module-open
* A8 c1 P4 H* x2 k! D
, O6 x; k* C% c- ; Directory where to load mcrypt algorithms
7 i7 h2 [; N& A/ _7 O$ j7 K% v8 L7 @ - ; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt)
/ T. E) O8 F/ Z& D: v8 f2 y# \" v& ? - ;mcrypt.algorithms_dir=- F* c6 `: A: [) ]/ J
- * U4 f5 _4 c, ?0 z1 p
- ; Directory where to load mcrypt modes
" l2 a* f9 u- x6 }$ [. p" m - ; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt)6 j; k* E, R/ |# N$ X3 \
- ;mcrypt.modes_dir=& C6 p, p: @5 J9 ?0 D* H; K5 y
- 5 h- O1 D5 H/ d9 I, {, X- s# G4 }
- [dba]
' p5 Q5 d. x" b9 u" `0 V l: x - ;dba.default_handler=
; M; y* U/ o; E* `) o5 h0 [, o
) q4 i2 G8 d# J. m" a! A1 S# g- [2 T- [opcache]% @/ ?1 r# x# W
- ; Determines if Zend OPCache is enabled
" {8 E7 d- q) B" Z) p3 E6 `9 Y/ V - ;opcache.enable=0
3 j1 J: a; q2 I; a2 C
$ H' ^9 X5 S8 a( l; W- ; Determines if Zend OPCache is enabled for the CLI version of PHP
: k% ~& p. Y1 H2 B2 {" a# ] - ;opcache.enable_cli=03 j; i& \* C0 b; ?8 `
B0 b4 Q/ _& j4 `0 g- T- ; The OPcache shared memory storage size./ L" _% F+ f4 Q* o
- ;opcache.memory_consumption=64% W0 p( \- Y& z# j
- $ w q8 Y# S9 W& i& F3 L
- ; The amount of memory for interned strings in Mbytes.
: } J5 w. u( T- h7 B# d - ;opcache.interned_strings_buffer=4$ B5 y3 z4 z+ e5 m) z
' N5 b0 @$ O! p3 r( `; a- ; The maximum number of keys (scripts) in the OPcache hash table.
" |% X1 {* d2 _% B- H2 u7 p* g - ; Only numbers between 200 and 100000 are allowed.( y# O, T$ K, S! g; D( i
- ;opcache.max_accelerated_files=2000
! s3 O) ^$ [( V# D - + l/ o1 N0 \6 N+ T" o% y
- ; The maximum percentage of "wasted" memory until a restart is scheduled.
+ K& C' Z1 A3 K - ;opcache.max_wasted_percentage=5$ A+ M* |5 K. k5 n; n' x4 z+ F `
- : N: {( i' u+ |4 e/ x5 {! u6 K
- ; When this directive is enabled, the OPcache appends the current working
: ]( k7 D2 z" u; E - ; directory to the script key, thus eliminating possible collisions between
. z6 O$ {4 w0 ?+ X8 d - ; files with the same name (basename). Disabling the directive improves* q8 d2 e- l, P. b' s
- ; performance, but may break existing applications.4 @+ l0 v, M( q0 D4 U, [
- ;opcache.use_cwd=14 c* [' }8 V( x" {4 l: J
/ M# B( x- O% X, x2 F- ; When disabled, you must reset the OPcache manually or restart the
) \& l* d4 S( q* g - ; webserver for changes to the filesystem to take effect.
! |; P- ]% Q3 C X% k5 @5 N% }" Q3 a; H - ;opcache.validate_timestamps=1
9 B* {5 _5 W+ N% k( s! W2 V
1 D$ T2 i& m! Z2 B0 l3 i- ; How often (in seconds) to check file timestamps for changes to the shared
" S' Y- v% F4 ^3 t5 N - ; memory storage allocation. ("1" means validate once per second, but only/ Q) M4 q& G2 S4 c! B& m
- ; once per request. "0" means always validate)5 S' S3 x% p4 F3 e/ Z1 N
- ;opcache.revalidate_freq=2
# E2 ^7 g2 W, [2 o5 u) W - 7 d6 @5 A; P4 x3 o( z6 n
- ; Enables or disables file search in include_path optimization+ n: x! Z( E- I% |
- ;opcache.revalidate_path=0. i8 n6 j3 T' s2 y& o. Z0 n/ A5 V* `
- $ b7 R/ Y' s8 p. e0 d9 q/ w
- ; If disabled, all PHPDoc comments are dropped from the code to reduce the: ?7 }7 [% x5 U8 g
- ; size of the optimized code.
0 L; l$ W& g% b5 H/ C2 o - ;opcache.save_comments=1
' E, A; F+ ~% Y* @) l - # a4 I" J( h1 Q: H- s2 t' d4 G
- ; If disabled, PHPDoc comments are not loaded from SHM, so "Doc Comments"
( X& M. r% E, f+ F - ; may be always stored (save_comments=1), but not loaded by applications0 ], N$ h: h1 {2 c4 l! r. ~, G/ ~
- ; that don't need them anyway.
- S/ x/ Z# E; J7 s9 g - ;opcache.load_comments=1
' {1 ]! T+ @4 g* d+ J - 2 s3 E. E" ~# I! {3 [) k$ s
- ; If enabled, a fast shutdown sequence is used for the accelerated code3 K, J) |" u# N( b
- ;opcache.fast_shutdown=03 B9 a8 B7 Y9 G7 ^" l
7 e5 Z( q6 Q2 O- ; Allow file existence override (file_exists, etc.) performance feature.4 k2 L( ]6 q( o/ H7 o
- ;opcache.enable_file_override=0# d6 i7 A9 g8 u; x# h2 [ V( A
- 3 H& J+ j$ K- d. b
- ; A bitmask, where each bit enables or disables the appropriate OPcache3 I. @' ?: ^% w) Q* }
- ; passes
; o: T4 R# q9 \ V# m& R. _ - ;opcache.optimization_level=0xffffffff
, k+ [6 y$ n# [' \# d! z w - $ D# R& U0 N7 u
- ;opcache.inherited_hack=10 S- V' V' C3 m5 }; a$ W5 \
- ;opcache.dups_fix=07 o+ L/ I# p K8 i/ ?
/ U4 p, t0 Y q% o! L' d* b- ; The location of the OPcache blacklist file (wildcards allowed).
/ s. M5 k% S+ x) F - ; Each OPcache blacklist file is a text file that holds the names of files
& d* i/ T, p- |' m - ; that should not be accelerated. The file format is to add each filename
: C% i7 z3 m+ D$ s M4 Z. K$ z9 R - ; to a new line. The filename may be a full path or just a file prefix9 `" @4 W8 v& U' |0 F/ U
- ; (i.e., /var/www/x blacklists all the files and directories in /var/www
! }2 K0 z, m [0 `, [ - ; that start with 'x'). Line starting with a ; are ignored (comments).2 @6 E0 J V- O. `2 J7 U
- ;opcache.blacklist_filename=; O1 C& W/ S. [1 n- U4 w1 N
- , g. x2 g; ^ @8 ?! T
- ; Allows exclusion of large files from being cached. By default all files
2 D3 V4 o, l, \& |+ g& C - ; are cached.
3 q# T& o+ K) Q% c& q; g- G+ t' L - ;opcache.max_file_size=0( i# Y; F* x, V* y2 U
/ s) t/ u2 r1 O4 {: k- ; Check the cache checksum each N requests.2 m- ]$ w2 D: `5 ?
- ; The default value of "0" means that the checks are disabled.
; |; Q" L! I4 b7 @' _% p* ~) i$ m - ;opcache.consistency_checks=0( p6 }2 z3 J0 Z' H' w
- ( L, F+ f* G/ X3 Z% [/ O; j& A! }
- ; How long to wait (in seconds) for a scheduled restart to begin if the cache
& `. L3 j( J2 j - ; is not being accessed.
8 C6 K: T+ ^; H+ r9 y0 |' P$ i - ;opcache.force_restart_timeout=180
1 z5 V7 \7 @4 t" g$ ~
' ?9 j. L+ V+ E: v% v, O. F- ; OPcache error_log file name. Empty string assumes "stderr".
7 Q" t9 b+ V) w; J - ;opcache.error_log=! q) \6 Z) J! ~5 h& m0 m4 u
- 6 _- P/ _ |7 s, ]3 \
- ; All OPcache errors go to the Web server log.
' k, l/ J- Y+ R% k/ y - ; By default, only fatal errors (level 0) or errors (level 1) are logged.
9 m% J4 {8 A! a& O- j2 ~2 W - ; You can also enable warnings (level 2), info messages (level 3) or( Q. T+ V V) `8 r# F0 C
- ; debug messages (level 4).
& A/ [) r& v9 N5 J- S1 C - ;opcache.log_verbosity_level=1
U/ k8 K2 F/ X* ?3 n/ T
( w; D+ B4 z- ?/ @" W- ; Preferred Shared Memory back-end. Leave empty and let the system decide.6 } A! V7 P0 S
- ;opcache.preferred_memory_model=
% b+ {( a1 Z7 F; w* U
0 P1 z3 l' \, p$ e5 a- ; Protect the shared memory from unexpected writing during script execution./ i; C8 x* O9 i; S' U5 b
- ; Useful for internal debugging only.
# r# f* u4 B- a- q1 f - ;opcache.protect_memory=0
' R0 a B" s. Z0 c% n
5 V- n- r4 o+ o8 k& _9 l% a- ; Validate cached file permissions.
1 K* `3 c) ^, N% @ - ; opcache.validate_permission=0/ l3 n% j- s: Y( i
- % N! m" s5 R* O E: E1 U! {5 a) x
- ; Prevent name collisions in chroot'ed environment.) j H1 X- o; z& {, H- O
- ; opcache.validate_root=0
( z' A B9 I$ h! y, d
R, ~$ |, v0 ~ m+ S- [curl]
* a1 v Q6 |+ j2 F4 z' A - ; A default value for the CURLOPT_CAINFO option. This is required to be an
, @, Y4 m3 ~. L! S - ; absolute path.5 q5 T7 Y9 r2 h0 l$ L+ z
- curl.cainfo = /etc/pki/tls/certs/ca-bundle.crt1 w- D# {/ c/ j# e$ G: A1 a
- % I9 u3 s8 b6 _* q: O/ h
- [openssl]- l' G; [+ t6 x) y5 W
- ; The location of a Certificate Authority (CA) file on the local filesystem
2 `) K& w2 [5 b. Y' }. G8 l% c - ; to use when verifying the identity of SSL/TLS peers. Most users should
@3 R8 J+ P# C9 a5 d( m# H - ; not specify a value for this directive as PHP will attempt to use the/ I/ F4 ]) u9 o3 F
- ; OS-managed cert stores in its absence. If specified, this value may still5 K$ s5 U+ D" c* {
- ; be overridden on a per-stream basis via the "cafile" SSL stream context) E$ c) I8 P5 A, H
- ; option.
% {& B# v% B+ P6 l9 z - openssl.cafile=/etc/pki/tls/certs/ca-bundle.crt* d9 a+ b. J9 u; Y8 }; _3 V1 ~; u
, E) F+ j( b0 {: [0 r- ; If openssl.cafile is not specified or if the CA file is not found, the
( p1 J3 e& i* X0 ]+ [ - ; directory pointed to by openssl.capath is searched for a suitable
8 C0 {% O8 V+ n/ g - ; certificate. This value must be a correctly hashed certificate directory.
$ h6 B4 t+ N# X4 K- L, b2 e - ; Most users should not specify a value for this directive as PHP will! R/ B9 ]% j8 |: |* n4 ~
- ; attempt to use the OS-managed cert stores in its absence. If specified,! E7 [5 ~1 _6 f% E, [/ E
- ; this value may still be overridden on a per-stream basis via the "capath"
2 _) F$ j; z4 m0 Y, K - ; SSL stream context option.9 \, s- P" H* k `
- ;openssl.capath=
8 `+ }4 O, I% N+ l - ) E \8 A( q2 S5 k
- ; Local Variables:/ {1 m1 T! w1 m$ d+ m
- ; tab-width: 4) n+ J! K7 n) J" K
- ; End:/ I0 c3 ~' ^' J, _4 v+ n
- ) N% ~6 |$ [) m( [0 d( ]
- ;eaccelerator
" v. x3 o; t. _6 |, c - 4 u1 h8 w- ^( C( G) E {
- ;ionCube4 r( ^/ p& k" I# P j
( r/ p+ y/ ^3 V- s& e- ;opcache
( Y6 R2 ^3 J, }1 E
' T+ k0 a8 x& \- [Zend ZendGuard Loader]
/ j/ w; F& d: D" e5 y - zend_extension=/usr/local/zend/php56/ZendGuardLoader.so4 W) ?* g) n" Q3 |7 D* U( y3 Q
- zend_loader.enable=1
) [3 I+ z f% t - zend_loader.disable_licensing=0
$ }4 H4 u/ j3 g - zend_loader.obfuscation_level_support=3
# q3 t8 e% v! V0 U% Y - zend_loader.license_path=
# f. m* S2 x# w+ }0 @: ]
" I* H5 t/ b7 V, T1 f# B& `: \- ;xcache( e% R8 d; C2 ~& E5 Z
+ d* \8 X$ h; c R% b* N9 I' [, A
复制代码 |
|