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