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