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