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