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