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