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