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