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