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