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