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