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