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