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