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