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