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