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