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