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