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