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