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