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