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