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