Home >Backend Development >PHP Tutorial >Detailed explanation of php.ini_PHP tutorial
This file controls many aspects of PHP. In order for PHP to read this file, it must be named
;
´php.ini´. PHP will search for the file in these places: the current working directory; the environment variable PHPRC
;
The specified path; the path specified when compiling.
; Under Windows, the path when compiling is the Windows installation directory.
;
In command line mode, the search path of php.ini can be replaced with the -c parameter.
;
The syntax of this file is very simple. Whitespace characters and lines starting with a semicolon ´;´ are simply ignored (as you might
; guess).
Section titles (eg: [Foo]) are also simply ignored, even though they may
; have some meaning in the future.
;
; instructions are specified using the following syntax:
; directive = value
; directive = value
; directive is *case sensitive* -
foo=bar is different from FOO = bar.
;
; The value can be a string, a number, a PHP constant (such as: E_ALL or
M_PI),
in INI constant; one (On, Off, True, False, Yes, No and None)
, or an expression
; (such as: E_ALL & ~E_NOTICE), or a string enclosed in quotes ("foo").
;
;
INI file expressions are restricted to bitwise operators and parentheses.
; | bitwise OR
; & bitwise AND
;
~ bitwise NOT
; ! boolean NOT
;
; Boolean flag available 1, On, True or Yes
These values are turned on.
; They can be turned off using the values 0, Off, False or No.
;
;
An empty string can be represented by writing nothing after the equal sign, or using the None keyword:
;
; foo = ; sets foo to the empty string
;
foo = none ; Set foo to an empty string
; foo = "none" ;
Set foo to string´none´
;
;
If you use constants in value settings, and these constants belong to dynamically loaded extension libraries (not PHP extensions, that is
; Zend
extensions), you can only use these constants *after* the lines that call in these extensions.
;
; All in php.ini-dist
The value set in the file is the same as the built-in default value (that is, if php.ini
; is not used or you delete these lines, the default value is the same).
;;;;;;;;;;;;;;;;;;;;;;
; Language options;
;;;;;;;;;;;;;;;;;;;;;
engine = On
; Enable PHP
The scripting language engine (PHP scripting language engine) is available under Apache.
short_open_tag =
On
; allows the flag (this simple representation). Otherwise only the tags will be recognized.
asp_tags
= Off
; Allow ASP-style <% %> tags
precision = 14
;
Number of significant digits when displaying floating point type numbers
y2k_compliance = Off
; Whether to turn on 2000 adaptation
(May cause problems in non-Y2K compliant browsers)
output_buffering = Off
;
Output caching allows you to send header (including cookies) lines
even after outputting the body content;
The cost is that the output layer slows down a bit. You can use Output Cache to turn on output caching at runtime,
; or set the directive to On here to turn on output caching for all files.
implicit_flush
= Off
; Force flush (refresh) to tell PHP to tell the output layer to automatically refresh its own data after each output block.
; This is equivalent to adding a
The flush() function is called after each HTML block and print() or echo() call.
;
Turning on this setting can cause serious runtime conflicts, and it is recommended to turn it on only during debugging.
allow_call_time_pass_reference
= On
; Whether to force parameters to be passed by reference when calling the function. This method was protested
; and may no longer be supported in future versions of PHP/Zend.
;
The encouraged way to specify which parameters are passed by reference is in the function declaration.
;
You are encouraged to try turning this option off and confirm that your scripts still work properly in future versions of the language
;
They still work. (You will get a warning every time you use this feature, and arguments will be passed by value rather than by reference
;).
; Safe Mode
Safe Mode
safe_mode = Off
safe_mode_exec_dir =
safe_mode_allowed_env_vars
= PHP_
; ? Setting certain environment variables
; ? may be a
potential security breach.
; The indication contains a comma-separated list of prefixes. In safe mode, users can only replace
;
The value of an environment variable starting with the prefix listed here.
; By default, users will only be able to set environment variables starting with PHP_ (eg: PHP_FOO=BAR).
;
Note: If this directive is empty, PHP will let the user change any environment variables!
safe_mode_protected_env_vars =
LD_LIBRARY_PATH
; This directive contains a comma-separated list of environment variables that the end user will not be able to change using putenv ().
;
These variables are protected even when safe_mode_allowed_env_vars is set to allowed.
disable_functions
=
; This directive allows you to disable specific functions for security reasons.
; It accepts a comma separated list of function names.
; This directive is *not* supported
Whether safe mode is turned on or not.
; Color of syntax highlighting mode.
; As long as it can be
highlight.string = #DD0000
highlight.comment
= #FF8000
highlight.keyword = #007700
highlight.bg = #FFFFFF
highlight.default
= #0000BB
highlight.html = #000000
; Misc Miscellaneous
expose_php
= Off
; Determines whether PHP should indicate the fact that it is installed on the server (for example: by adding it to the -PHP- signal sent to the Web service
;).
;
(My personal opinion is to turn this off when any power-by header appears.)
; It will not pose a security threat,
But it makes it possible to check whether PHP is installed on your server.
;;;;;;;;;;;;;;;;;;;;;;
; Resource
Limits ;
;;;;;;;;;;;;;;;;;;;;
max_execution_time = 30 ;
The maximum execution time of each script, in seconds
memory_limit = 8388608; The maximum total amount of memory that can be used by a script (here is 8MB)
;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;
; Error handling and logging;
; Error handling and logging;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;
; Error reporting is bitwise. Or add up the numbers to get the desired error reporting level.
; E_ALL - all errors and warnings
;
E_ERROR - fatal runtime error
; E_WARNING - runtime warning (non-fatal error)
; E_PARSE - compile-time parsing error
; E_NOTICE - runtime reminder (these are often caused by bugs in your code,
; may also be caused by intentional behavior. (e.g. based on uninitialized changes)
The fact that the variable is automatically initialized to an
; empty string while using an uninitialized variable)
; E_CORE_ERROR -
Fatal error that occurs during the initialization process of PHP startup
; E_CORE_WARNING - warning (non-fatal error) that occurs during the initialization process of PHP startup
;
E_COMPILE_ERROR - fatal compile-time error
; E_COMPILE_WARNING - compile-time warning (non-fatal error)
;
E_USER_ERROR - user-generated error message
; E_USER_WARNING - user-generated warning message
;
E_USER_NOTICE - User generated reminder message
; Example:
; error_reporting = E_ALL &
~E_NOTICE ; Show all errors except reminders
; error_reporting =
E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR ; Show errors only
error_reporting = E_ALL
& ~E_NOTICE ; Display all errors except reminders
display_errors = On ;
Display error messages (as part of the output)
; On the final published web site, it is strongly recommended that you turn this feature off and use the
; error log instead (see below).
; It is possible to continue to enable display_errors in the final published website
;
Expose some security-related information, such as file paths on your web service,
; your database layout or other information.
log_errors =
Off ; Record errors in the log file (server-specified log, stderr standard error output, or error_log (below))
;
As noted above, it is strongly recommended that you log errors
; instead of direct error output on the final published website.
track_errors =
Off ; Save the latest error/warning message in variable $php_errormsg (boolean)
;error_prepend_string
= "<font color=ff0000>" ; The string output before the error message
;error_append_string =
"</font>" ; The string output after the error message
;error_log = filename ; Record the error log in the specified file
;error_log
= syslog; Record error log in system log syslog (event log under NT, invalid under Windows 95)
warn_plus_overloading
= Off ; Warn when using ' ' with string
;;;;;;;;;;;;;;;;;;;
; Data Handling
;
;;;;;;;;;;;;;;;;;;
variables_order = "EGPCS" ; This directive describes the PHP record
;
GET, POST, Cookie, Environment and Built-in in the order of these variables.
; (with G, P, C, E
& S stands for, usually quoted in EGPCS or GPC terms).
; Records from left to right, with new values replacing old ones.
register_globals
= On ; Whether to register these EGPCS variables as global variables.
; You may want to turn this off if you don't want user data to be cluttered globally.
;
This makes more sense in conjunction with track_vars — that way you can access all GPC variables via the
; $HTTP_*_VARS[] array.
register_argc_argv
= On; This instruction tells PHP whether to declare argv and argc variables
; (Note: here argv is an array and argc is the number of variables)
;
(Contains data passed using the GET method).
; If you don't want to use these variables, you should turn them off to improve performance.
track_vars = On ;
Make the $HTTP_*_VARS[] array valid, where * is replaced with
; ENV, POST, GET, COOKIE or SERVER when using
gpc_order
= "GPC" ; This directive was objected to. Use variables_order instead.
; Magic quotes
magic_quotes_gpc
= On ; Use magic quotes in the input GET/POST/Cookie data
; (The original text is like this, haha, so-called magic quotes
It should refer to using escape characters to add quotation control characters, such as ´....)
magic_quotes_runtime