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