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