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