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