Home > Article > Backend Development > Detailed explanation of PHP configuration file Detailed explanation of php.ini file
This article is the Chinese annotated version of the php configuration file php.ini. It provides a detailed explanation of the php configuration file. Friends in need can bookmark it and use it at critical times.
Contents of this section: Detailed explanation of PHP configuration file php.ini file. [PHP] ; PHP is still an evolving tool and its features are constantly being removed. ; And the setting changes of php.ini can reflect considerable changes, ; Before using a new PHP version, it would be beneficial to study php.ini ;;;;;;;;;;;;;;;;;;;;; ; About this document ; ;;;;;;;;;;;;;;;;;;;;; ; This file controls many aspects of PHP. In order for PHP to read this file, it must be named ; 'php.ini'. PHP will look for the file in these places: the current working directory; the environment variable PHPRC ; The path specified; the path specified during compilation. ; 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 ; Same as you guessed). Chapter titles (e.g. : [Foo]) are also simply ignored, even though in the future they may ; has some meaning. ; ; directives are specified using the following syntax: ; indicator identifier = value ; directive = value ; Indicates that the identifier 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), an INI constant ; a (On, Off, True, False, Yes, No and None) , or an expression ; (eg: E_ALL & ~E_NOTICE), or a quoted string (" foo" ). ; ; INI file expressions are restricted to bitwise operators and parentheses. ; | bitwise OR ; & bitwise AND ; ~ bitwise NOT ; ! boolean NOT ; ; Boolean flags can be turned on with values 1, On, True or Yes. ; They can be turned off using the values 0, Off, False or No. ; ; An empty string can be represented by nothing after the equal sign, or by using the None keyword: ; ; foo = ; Set foo to an empty string ; foo = none ; Set foo to an empty string ; foo = " none" ; Set foo to the 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 those extensions. ; ; All values set in the php.ini-dist file are the same as the built-in defaults (that is, if php.ini ; is not used or you deleted these lines, the default value is the same). ;;;;;;;;;;;;;;;;;;;;;; ; Language options ; ;;;;;;;;;;;;;;;;;;;;;;; engine = On ; Make the PHP scripting language engine available under Apache. short_open_tag = On ; Allow tags to be recognized. asp_tags = Off ; Allow ASP-style tags precision=14 ; The number of significant digits when displaying floating point type numbers y2k_compliance = Off ; Whether to turn on Year 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 price is that the output layer slows down a little. You can use output caching to turn on output caching at runtime, ; Or turn the directive On here to enable output caching for all files. output_handler = ; You can redirect all output of your script to a function, ; That might be useful for processing or logging it. ; For example, if you set this output_handler to "ob_gzhandler", ; then the output will be transparently compressed for browsers that support gzip or deflate encoding. ; Set an output processor to automatically open output buffering. implicit_flush = Off ; Force flush to tell PHP to tell the output layer to automatically refresh its own data after each output block. ; This is equivalent to calling the flush() function after every print() or echo() call and after every HTML block. ; Turning this setting on 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 functions. This approach was met with protest; ; and may no longer be supported in future versions of PHP/Zend. ; It is encouraged to specify which parameters are passed by reference in the function declaration. ; You are encouraged to try turning this option off and verify 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 the parameters will be by value rather than by reference. ; pass). ; 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. ; This directive 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 arbitrary 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* affected by whether safe mode is turned on. ; Color for syntax highlighting mode. ; As long as it is acceptable, it will work. 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: add it - PHP - to the web service ; on the signal sent). ; (My personal opinion is to turn this off when any power-by header appears.) ; It poses no security threat, but it makes it possible to check whether PHP is installed on your server. ;;;;;;;;;;;;;;;;;;;;; ; Resource Limits ; ;;;;;;;;;;;;;;;;;;;;; max_execution_time = 30 ; Maximum execution time of each script, in seconds memory_limit = 8388608 ; The maximum amount of memory that can be used by a script (here is 8MB) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Error handling and logging ; ; Error control and registration; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Error reporting is bitwise. Or add the numbers together 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 reminders (these are often caused by bugs in your code, ;It may also be caused by intentional actions. (For example: based on uninitialized variables automatically initialized to a ;The fact that an empty string is used instead of an uninitialized variable) ; E_CORE_ERROR - fatal error that occurs during the initialization process when PHP starts ; E_CORE_WARNING - Warning (non-fatal error) that occurs during the initialization process when PHP starts ; 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 ; Show 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 off this feature and use ; 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 plan or other information. display_startup_errors = Off ; Occurs during the PHP startup step even when display_erroes is turned on ; errors will not be displayed. ; It is strongly recommended to keep display_startup_errors turned off, ; Except during error correction. log_errors = Off ; Record errors in the log file (server-specific log, stderr standard error output, or error_log (below)) ; As stated above, it is strongly recommended that you log errors on the final published website ; Replaces direct error output. track_errors = Off ; Save the latest error/warning message in variable $php_errormsg (boolean) ;error_prepend_string = " " ; The string output before the error message ;error_append_string = " " ; The string output after the error message ;error_log = filename ; Record error log to 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 '+' for strings ;;;;;;;;;;;;;;;;;; ; Data Handling ; ;;;;;;;;;;;;;;;;;; variables_order = "EGPCS" ; This directive describes the PHP record ; The order of GET, POST, Cookie, Environment and Built-in variables. ; (represented by G, P, C, E & S, usually referenced by EGPCS or GPC). ; 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 pass ; $HTTP_*_VARS[] array to access all GPC variables. 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) ; (which contains the data passed by 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, here * is used when using ; ENV, POST, GET, COOKIE or SERVER replacement post_max_size = 8M; Maximum size of POST data that PHP will accept. 1 2 3 Next page Last page |