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