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