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