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