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