php.ini?中文版?(PHP7,PHP8)?金步國
;;;;;;;;;;;;;;;;;;
;; 關(guān)于 php.ini ;;
;;;;;;;;;;;;;;;;;;
; 對于服務(wù)器模塊,僅在服務(wù)器啟動時讀取一次 php.ini 。對于 CGI 和 CLI ,每次調(diào)用都會讀取 php.ini 。
; PHP 會在初始化時按如下順序搜索此文件(搜到即停):
; 1. SAPI 模塊指定的位置:
; (a) Apache 2.x 中的 PHPIniDir 指令
; (b) CGI/CLI 模式下 -c 命令行選項
; (c) NSAPI 中的 php_ini 參數(shù)
; (d) THTTPD 中的 PHP_INI_PATH 環(huán)境變量
; 2. PHPRC 環(huán)境變量指定的位置
; 3. Windows注冊表指定的位置(依次搜索、搜到即停):
; (a) [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y.z] 內(nèi)的 IniFilePath 的值(特定于php-x.y.z版本)
; (b) [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y] 內(nèi)的 IniFilePath 的值(特定于php-x.y.*系列版本)
; (c) [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x] 內(nèi)的 IniFilePath 的值(特定于php-x.*.*系列版本)
; (d) [HKEY_LOCAL_MACHINE\SOFTWARE\PHP] 內(nèi)的 IniFilePath 的值(不特定于php的版本)
; 4. 當(dāng)前工作目錄(不適用于 CLI 模式)
; [提示] Apache 會在啟動時把當(dāng)前工作目錄轉(zhuǎn)到根目錄,這將導(dǎo)致 PHP 可能會嘗試在根目錄讀取 php.ini 。
; 5. web 服務(wù)器目錄(適用于 SAPI 模塊)或 PHP 所在目錄(Windows 下其它情況)
; 6. 編譯時選項 --with-config-file-path 指定的位置 或 Windows目錄( %SystemRoot% 通常是"C:\Windows")
; 如果存在 php-SAPI.ini (例如 php-apache2handler.ini, php-fpm-fcgi.ini, php-cli-server.ini, php-cli.ini 等),
; 那么 php.ini 將會被 php-SAPI.ini 取代。
; 最新版本:
; php.ini-production
; php.ini-development
;;;;;;;;;;;;
;; 語法 ;;
;;;;;;;;;;;;
; 該文件的語法非常簡單??瞻仔泻鸵苑痔栭_始的行被簡單地忽略。
; 普通配置段標(biāo)題(例如: [PHP])也被簡單地忽略(即使將來它們可能有某種意義)。
; 形如 [PATH=/www/mysite] 的配置段表示僅作用于 /www/mysite 目錄下的 PHP 文件。
; 形如 [HOST=www.example.com] 的配置段表示僅作用于 www.example.com 站點的 PHP 文件。
; [提示]對于擁有多個域名的站點,應(yīng)該使用 SERVER_NAME 參數(shù)的值(也就是域名列表中的第一個域名)。
; 這兩種配置段中的設(shè)置既不能在運行時修改、也不受 .user.ini 文件的影響。
; 這兩種配置段僅工作于 CGI/FastCGI 模式[FastCGI 協(xié)議規(guī)范中文版],且不能包含 extension 與 zend_extension 指令。
; 設(shè)置指令的格式如下:
; 指令 = 值
; "指令"是大小寫敏感的!所以"foo=bar"不同于"FOO=bar"。
; 不能識別的"指令"將會被直接忽略、未設(shè)置的指令將會使用其默認(rèn)值。
; "值"可以是:
; 1. 一個字符串(可以用引號界定,如:"foo")
; 2. 一個數(shù)字(整數(shù)或浮點數(shù),如:0, 1, 34, -1, 33.55)
; 3. 一個PHP常量(如:E_ALL, M_PI)(不能在 php.ini 之外使用[例如 httpd.conf])
; 4. 一個INI常量(On, Off, Yes, No, None)
; 5. 一個表達(dá)式(如:E_ALL & ~E_NOTICE)
; [注1]可以在"值"中引用環(huán)境變量,如:"${AUTHOR}.log" 、 ".:${USER}/pear/php"
; [注2]可以在"值"中引用先前設(shè)置的指令值,如:"${open_basedir}:/new/dir"
; 僅可在表達(dá)式中使用 位運算符、邏輯非、圓括號:
; | 位或(OR)
; ^ 位異或(XOR)
; & 位與(AND)
; ~ 位非(NOT)
; ! 邏輯非(NOT)
; 布爾標(biāo)志用 1, On, True, Yes 表示打開,用 0, Off, False, No 表示關(guān)閉。
; 空字符串可以用在等號后不寫任何東西表示,或者用 None 關(guān)鍵字:
; foo = ; 將foo設(shè)為空字符串(推薦的方式)
; foo = None ; 將foo設(shè)為空字符串
; foo = "None" ; 將foo設(shè)為字符串'None'
; 如果要在指令值中使用動態(tài)擴(kuò)展(PHP擴(kuò)展或Zend擴(kuò)展)中的常量,
; 那么只能在加載這些動態(tài)擴(kuò)展的指令行(extension 或 zend_extension)之后使用這些常量。
;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 生產(chǎn)環(huán)境與開發(fā)環(huán)境 ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;
; PHP 面向生產(chǎn)環(huán)境與開發(fā)環(huán)境分別提供了 php.ini-production 與 php.ini-development 兩套參考配置。
; 兩套參考配置的差異如下:
;display_errors
; Default Value: On
; Development Value: On
; Production Value: Off
;display_startup_errors
; Default Value: On
; Development Value: On
; Production Value: Off
;error_reporting
; Default Value: E_ALL
; Development Value: E_ALL
; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
;log_errors
; Default Value: Off
; Development Value: On
; Production Value: On
;max_input_time
; Default Value: -1 (Unlimited)
; Development Value: 60 (60 seconds)
; Production Value: 60 (60 seconds)
;output_buffering
; Default Value: Off
; Development Value: 4096
; Production Value: 4096
;register_argc_argv
; Default Value: On
; Development Value: Off
; Production Value: Off
;request_order
; Default Value: None
; Development Value: "GP"
; Production Value: "GP"
;session.gc_divisor
; Default Value: 100
; Development Value: 1000
; Production Value: 1000
;session.sid_bits_per_character
; Default Value: 4
; Development Value: 5
; Production Value: 5
;short_open_tag
; Default Value: On
; Development Value: Off
; Production Value: Off
;variables_order
; Default Value: "EGPCS"
; Development Value: "GPCS"
; Production Value: "GPCS"
;zend.exception_ignore_args
; Default Value: Off
; Development Value: Off
; Production Value: On
;zend.exception_string_param_max_len
; Default Value: 15
; Development Value: 15
; Production Value: 0
;;=========================================================================================
;;=====================================配置指令詳解========================================
;;=========================================================================================
; 以下每個指令的值都與 PHP-8.0 內(nèi)建的默認(rèn)值相同(也兼顧 PHP-7.2 PHP-7.3 PHP-7.4 版本)。
; 也就是說,如果'php.ini'不存在,或者你刪掉了某些行,默認(rèn)值與之相同。
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; SAPI ( Server API ) ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[apache2handler]
; 此配置段中的指令僅在以 Apache2處理器模塊(php_module) 方式使用PHP時才有意義。
; [提示]可以在 httpd.conf 中使用 php_value/php_flag 與 php_admin_value/php_admin_flag 指令覆蓋 php.ini 中的設(shè)置。
engine = On
; 是否啟用PHP解析引擎。一般用于基于目錄或虛擬主機來開關(guān)PHP解析引擎。
last_modified = Off
; 是否在"Last-Modified:"應(yīng)答頭中放置PHP腳本的最后修改時間。
xbithack = Off
; 是否不管文件的擴(kuò)展名是什么,只要帶有可執(zhí)行位,就都作為PHP腳本解析。
[fpm-fcgi]
; 此配置段中的指令僅在以 FPM/FastCGI 方式使用PHP時才有意義。
cgi.check_shebang_line = On
; 是否檢查腳本頂部以 #! 開始的行(shebang)。
; 如果腳本想要既能夠單獨運行又能夠在 PHP CGI 模式下運行,那么這個起始行(shebang)就是必須的。
; 設(shè)為 On 表示在CGI模式下將會自動忽略這一行。
cgi.discard_path = Off
; 是否允許把 PHP CGI 目錄放置在 web 目錄樹之外以增強安全性,這樣客戶端將無法避開 .htaccess 安全防護(hù)。
cgi.fix_pathinfo = On
; 是否為CGI提供真正的 PATH_INFO/PATH_TRANSLATED 值(遵守cgi規(guī)范)。
; 先前的行為是無論 PATH_INFO 是什么,一律將 PATH_TRANSLATED 設(shè)為 SCRIPT_FILENAME 。
; 打開此指令將使PHP修正其路徑以遵守CGI規(guī)范,否則仍將使用舊式的不合規(guī)范的行為。
; 鼓勵你打開此指令,并修正腳本以使用 SCRIPT_FILENAME 代替 PATH_TRANSLATED 。
; [提示]即使將 PHP-FPM 與 Nginx 配合使用,也應(yīng)該保持此指令為 On (網(wǎng)上有許多老舊文章)。
; 有關(guān) PATH_INFO 的更多信息請參見cgi規(guī)范。
cgi.force_redirect = On
; 是否打開cgi強制重定向。強烈建議打開它以提高安全性。
; 注意:在IIS上必須關(guān)閉它!
cgi.nph = Off
; 在CGI模式下是否強制對所有請求都發(fā)送"Status: 200"狀態(tài)碼。
cgi.redirect_status_env =
; 如果 cgi.force_redirect = On 并且與非Apache配合運行PHP,
; 可能需要設(shè)置一個cgi重定向環(huán)境變量名,PHP將根據(jù)此環(huán)境變量決定是否繼續(xù)執(zhí)行下去。
; 設(shè)置這個變量會導(dǎo)致安全漏洞,請務(wù)必在設(shè)置前搞清楚自己在做什么。
cgi.rfc2616_headers = Off
; 指定PHP在發(fā)送HTTP響應(yīng)碼時使用何種狀態(tài)頭。
; 設(shè)為 Off 表示使用符合RFC3875標(biāo)準(zhǔn)的頭(例如"Status: 404 Not Found"),Apache和其它web服務(wù)器都支持。
; 設(shè)為 On 表示使用符合RFC2616標(biāo)準(zhǔn)的頭(例如"HTTP/1.0 404 Not found")。
; 務(wù)必保持默認(rèn)值 Off ,除非你確實知道自己在做什么。
fastcgi.error_header =
; 如果 display_errors = Off 并且被訪問的php腳本包含語法錯誤,
; 那么默認(rèn)情況下,用戶將會收到一個狀態(tài)行為"HTTP/1.1 500 Internal Server Error"的空頁面。
; 如果你認(rèn)為默認(rèn)的狀態(tài)行不合理,那么可以使用此指令自定義一個狀態(tài)行(例如 "HTTP/1.1 550 Server Exploded")。
fastcgi.impersonate = Off
; IIS中的FastCGI支持模仿客戶端安全令牌的能力,這使得IIS能夠定義運行時請求所基于的安全上下文。
; 但Apache不支持此特性。如果在IIS中運行則應(yīng)設(shè)為 On ,否則應(yīng)設(shè)為 Off 。
fastcgi.logging = On
; 是否開啟FastCGI日志。
fpm.config =
; 明確指定 FPM 配置文件(php-fpm.conf)的路徑
[cli-server]
; 此配置段中的指令僅在使用PHP內(nèi)建的 CLI Web Server 時才有效。
cli_server.color = Off
; 是否讓 CLI Web Server 在終端輸出中使用彩色。
[cli]
; 此配置段中的指令僅在使用PHP命令行模式時才有意義(實際是在設(shè)置 readline 模塊)。
cli.pager =
; 顯示命令行輸出的外部分頁程序。
cli.prompt = "\b \>"
; 以交互方式使用時的命令行提示符。
;;;;;;;;;;;;;;;;;;;
;; 核心 ;;
;;;;;;;;;;;;;;;;;;;
[Core-Language]
short_open_tag = On
; 是否允許使用"<? ?>"短標(biāo)記。
; 除非你的php程序僅在受控環(huán)境下運行,且只供自己使用,否則請不要使用短標(biāo)記。
; 如果要和XML結(jié)合使用PHP,可以選擇關(guān)閉此選項以方便直接嵌入"<?xml ... ?>"。
; 本指令不影響縮寫形式"<?=",它始終和"<?php echo"等價。
precision = 14
; 浮點型數(shù)據(jù)的顯示精度(有效位數(shù))。
serialize_precision = -1
; 將浮點型和雙精度型數(shù)據(jù)序列化存儲時的精度(有效位數(shù))。
; 默認(rèn)值 -1 表示自動選擇最佳精度,能夠恰好確保浮點型數(shù)據(jù)被解序列化程序解碼時不會丟失數(shù)據(jù)。
; 此值還影響 json_encode() 編碼雙精度型數(shù)據(jù)的精度。
disable_functions =
; 該指令接受一個用逗號分隔的函數(shù)名列表,以禁用特定的函數(shù)。
; 該指令僅能禁用內(nèi)置函數(shù),不能禁用用戶自定義函數(shù)。
disable_classes =
; 該指令接受一個用逗號分隔的類名列表,以禁用特定的類。
expose_php = On
; 是否暴露PHP被安裝在服務(wù)器上的事實(在http頭中加上其簽名)。
; 它不會有安全上的直接威脅,但它使得客戶端知道服務(wù)器上安裝了PHP。
hard_timeout = 2
; 當(dāng)腳本執(zhí)行時間達(dá)到 max_execution_time 限制之后會被"柔軟且安全"的結(jié)束,
; 此指令就是設(shè)置這種"柔軟且安全"的方式結(jié)束腳本的最大允許用時(秒)。
; 一旦超時(默認(rèn)為2秒),就會被進(jìn)一步以粗暴的方式結(jié)束(不釋放任何未釋放的資源)。
zend.assertions = 1
; 如何編譯斷言:
; -1 完全不編譯(生產(chǎn)模式)
; 0 編譯但是在運行時跳過
; 1 編譯并執(zhí)行(開發(fā)模式)
zend.exception_ignore_args = Off
; 是否從異常生成的堆棧跟蹤中排除參數(shù)。
; 建議在生產(chǎn)服務(wù)器上設(shè)為 On 以防止在堆棧跟蹤中輸出敏感信息。
zend.exception_string_param_max_len = 15
; 堆棧跟蹤參數(shù)中允許的最大字符串長度(取值范圍=0~1000000)。
; 僅在 zend.exception_ignore_args = Off 時有意義。
; 建議在生產(chǎn)服務(wù)器上設(shè)為 0 以減少敏感信息的輸出。
zend.multibyte = Off
; 是否允許PHP腳本使用例如 CP936, Big5, CP949, Shift_JIS 這樣的不安全字符編碼。
; 與 ISO-8859-1 兼容的安全字符編碼(UTF-8, EUC, ...)不需要開啟此指令。
; 若要使用此特性,必須加載 mbstring 擴(kuò)展模塊。
zend.script_encoding =
; 當(dāng)PHP腳本第一行沒有"declare(encoding=...)"聲明時,默認(rèn)使用的字符編碼。
; 設(shè)置此指令之后,腳本就像自動使用了 mb_convert_encoding() 函數(shù)一樣,
; 將所有字符串從 zend.script_enconding 編碼自動轉(zhuǎn)換為 mbstring.internal_encoding 編碼。
; 僅在 zend.multibyte = On 時有意義。
; 如果腳本使用了與 ISO-8859-1 不兼容的字符編碼,建議明確設(shè)置此指令。
zend.detect_unicode = On
; 是否通過檢查腳本的BOM(字節(jié)順序標(biāo)記)來檢測腳本是否包含多字節(jié)字符。
; 僅在 zend.multibyte = On 時有意義。
zend.signal_check = Off
; 是否在關(guān)閉時檢查被替換的信號處理程序(僅存在于Unix平臺)
[Core-ResourceLimits]
memory_limit = 128M
; 腳本所能夠申請到的最大內(nèi)存(字節(jié))(可以使用K和M作為單位)(必須大于 post_max_size 的值)。
; 這有助于防止劣質(zhì)腳本消耗完服務(wù)器上的所有內(nèi)存。設(shè)為 -1 表示取消內(nèi)存限制。
; 設(shè)置了該指令后,memory_get_usage() 函數(shù)將變?yōu)榭捎谩?/p>
[Core-Performance]
realpath_cache_size = 4M
; 指定PHP使用的 realpath(規(guī)范化的絕對路徑名) 緩沖區(qū)大小。
; 緩沖區(qū)大小=路徑字符串的總長度+緩存項關(guān)聯(lián)數(shù)據(jù)。主要緩存長路徑時,緩存必須更大。
; 此值并不能直接控制緩存中的路徑數(shù)量。在PHP打開大量文件的系統(tǒng)上應(yīng)當(dāng)增大該值以提高性能。
; 注意:開啟 open_basedir 之后 realpath 緩存將會被禁用。
realpath_cache_ttl = 120
; realpath 緩存有效期(秒)。對文件很少變動的系統(tǒng),可以增大該值以提高性能。
[Core-DataHandling]
arg_separator.output = "&"
; PHP輸出的URL中用來分隔參數(shù)的分隔符。
; 另外還可以設(shè)為"&"或","或";"等等。
arg_separator.input = "&"
; PHP解析URL中的變量時使用的分隔符列表。字符串中的每一個字符都會被當(dāng)作分割符。
; 另外還可以設(shè)為";,&"等等。
variables_order = "EGPCS"
; 注冊哪些超全局?jǐn)?shù)組。分別用 E, G, P, C, S 表示 $_ENV, $_GET, $_POST, $_COOKIE, $_SERVER 。
; 因為注冊這些數(shù)組會帶來性能損失,并且 $_ENV 也不常用,所以不建議注冊 $_ENV 。
; [提示]在FastCGI模式下 $_SERVER 中始終包含有環(huán)境變量(也就是 S 永遠(yuǎn)相當(dāng)于 ES )。
; 推薦設(shè)為"GPCS",并使用 getenv() 訪問環(huán)境變量。
request_order =
; 如何將 G, P, C 超全局?jǐn)?shù)組中的元素注冊到 $_REQUEST 超全局?jǐn)?shù)組中。
; 此設(shè)置不但決定了注冊 G, P, C 中的哪幾個,還決定了注冊時的覆蓋順序(后值會覆蓋前值)。
; [注意]設(shè)為空表示繼承 variables_order 的值,而不是讓 $_REQUEST 為空。建議設(shè)為"GP"。
auto_globals_jit = On
; 是否僅在實際使用到 $_ENV, $_REQUEST, $_SERVER 變量時才創(chuàng)建(而不是在腳本一啟動時就自動創(chuàng)建)。
; 如果并未在腳本中使用這些數(shù)組,打開該指令將會獲得性能上的提升。
register_argc_argv = On
; 是否注冊 $argv 與 $argc 全局變量(可能包含GET方法的信息)。
; $argv 數(shù)組包含所有傳遞給腳本的參數(shù)。$argc 變量保存了參數(shù)的個數(shù)。
; 建議并關(guān)掉該指令以提高性能。
; [提示]對于 CLI 模式,此指令被硬編碼為 On
enable_post_data_reading = On
; 是否允許讀取 POST 數(shù)據(jù)。設(shè)為 Off 之后 $_POST 與 $_FILES 將永遠(yuǎn)為空。
; 唯一的辦法是通過 php://input 流包裝器來獲取POST數(shù)據(jù)。
; Off 僅適用于代理請求或以內(nèi)存高效的方式處理POST數(shù)據(jù)。
post_max_size = 8M
; 允許接受的最大POST數(shù)據(jù)長度(字節(jié))("0"表示無限)。僅在 enable_post_data_reading = On 時有意義。
; 此設(shè)定也影響到文件上傳(必須大于 upload_max_filesize 的值),如果POST數(shù)據(jù)超出限制,那么 $_POST 和 $_FILES 將會為空。
; 如果啟用了內(nèi)存限制,那么該值應(yīng)當(dāng)小于 memory_limit 的值。
auto_prepend_file =
auto_append_file =
; 自動在PHP腳本之前/之后插入的文件名。設(shè)為空表示禁用該特性。
; 指定的文件就像被 include() 函數(shù)包含進(jìn)來一樣,因此會使用 include_path 指令的值。
; 注意:如果腳本通過 exit() 終止,那么自動后綴將不會發(fā)生。
default_mimetype = "text/html"
default_charset = "UTF-8"
; 設(shè)置HTTP頭 "Content-Type:" 的默認(rèn)值。都設(shè)為空表示不輸出"Content-Type:"頭。
; 默認(rèn)值表示輸出"Content-Type: text/html; charset=UTF-8"。
; 反對將 default_charset 設(shè)為空。
input_encoding =
; PHP輸入使用的字符編碼。設(shè)為空表示使用 default_charset 的值。
output_encoding =
; PHP輸出使用的字符編碼。設(shè)為空表示使用 default_charset 的值。
internal_encoding =
; PHP內(nèi)部使用的字符編碼。設(shè)為空表示使用 default_charset 的值。
[Core-Paths]
include_path = ".;/path/to/php/pear"
; 指定一組目錄用于 require(), include(), fopen(), file(), readfile(), file_get_contents() ... 等函數(shù)定位文件。
; 格式和系統(tǒng)的PATH環(huán)境變量類似(UNIX下用冒號分隔,Windows下用分號分隔):
; UNIX: "/path1:/path2"
; Windows: "\path1;\path2"
; 直接使用'./path/to/file'方式表示相對于當(dāng)前目錄的文件是一種效率更高的方式(不推薦在此指令中使用'.')。
; 更進(jìn)一步,將此指令設(shè)為空有助于提高在文件系統(tǒng)上定位文件的性能。
; 可以使用 set_include_path() 在運行時修改此指令的值。
open_basedir =
; 將PHP允許操作的所有文件都限制在此組目錄列表下以提升安全性(設(shè)為空表示允許打開所有文件)。
; 當(dāng)腳本試圖打開指定目錄樹之外的文件時,將遭到拒絕。
; 所有的符號連接都會被解析,所以不可能通過符號連接來避開此限制。
; 特殊值'.'表示存放該腳本的目錄將被當(dāng)做基準(zhǔn)目錄,但這樣做很不安全(腳本可以用chdir()更改工作目錄)。
; 對于共享服務(wù)器,在 httpd.conf 中針對不同的虛擬主機或目錄靈活設(shè)置該指令將變得非常有用。
; 作為Apache模塊時,父目錄中的 open_basedir 路徑將自動被繼承。
; 在Windows中用分號分隔目錄,UNIX系統(tǒng)中用冒號分隔目錄,建議使用 PATH_SEPARATOR 常量編寫可移植代碼。
; 注意:開啟此特性之后 realpath 緩存將會被禁用。
doc_root =
; PHP的"CGI根目錄"。僅在非空時有效。
; 在web服務(wù)器的主文檔目錄(比如"htdocs")中放置可執(zhí)行程序/腳本被認(rèn)為是不安全的,
; 比如因為配置錯誤而將腳本作為普通的html顯示。
; 因此很多系統(tǒng)管理員都會在主文檔目錄之外專門設(shè)置一個只能通過CGI來訪問的目錄,
; 該目錄中的內(nèi)容只會被解析而不會原樣顯示。
; 如果設(shè)置了此指令,那么PHP就只會解釋 doc_root 目錄下的文件,
; 并確保目錄外的腳本都不會被PHP解釋器執(zhí)行( user_dir 除外)。
; 如果編譯PHP時沒有指定 FORCE_REDIRECT ,那么必須設(shè)置此指令。
; 如果在非IIS服務(wù)器上以CGI方式運行,務(wù)必閱讀手冊中的安全部分。
; 確保安全的替代方案是使用 cgi.force_redirect 指令。
user_dir =
; 告訴php在使用 /~username 打開腳本時到哪個目錄下去找,僅在非空時有效。
; 也就是在用戶目錄之下使用PHP文件的基本目錄名,例如:"public_php"
user_ini.cache_ttl = 300
; 重新讀取 .user.ini 文件的間隔秒數(shù)( .user.ini 文件的生存期)。
user_ini.filename = ".user.ini"
; 基于每個目錄的用戶自定義 php.ini 文件的名稱(僅支持 CGI/FastCGI 模式)。設(shè)為空表示關(guān)閉此功能。
; 開啟此功能之后,除了主 php.ini 之外,還會從被執(zhí)行的 PHP 腳本所在目錄開始,一直向上掃描到 web 根目錄。
; 如果被執(zhí)行的 PHP 腳本在 web 根目錄之外,那么只掃描該 PHP 腳本所在的目錄。
; 僅允許在 .user.ini 文件中使用 PHP_INI_PERDIR 和 PHP_INI_USER 類型的指令。
; 開啟此功能會讓 PECL 的 htscanner 擴(kuò)展作廢。
extension_dir = "/path/to/phpext"
; 存放擴(kuò)展庫(模塊)的目錄,也就是PHP用來尋找動態(tài)擴(kuò)展模塊的目錄。
; Windows下默認(rèn)為"C:\php\ext"
; Unix下的默認(rèn)值取決于編譯時的配置。
sys_temp_dir = "/path/to/tmp"
; 存放臨時文件的臨時目錄。默認(rèn)為系統(tǒng)的臨時目錄(參見 sys_get_temp_dir() 函數(shù))
;extension=PHP模塊名(不含前后綴,例如 mbstring )
;zend_extension=Zend模塊名(不含前后綴,例如 opcache )
; 對于不在 extension_dir 目錄中的模塊可以直接寫上模塊文件的完整絕對路徑。
; [注意] exif 模塊必須在 mbstring 之后加載
[Core-FileUploads]
file_uploads = On
; 是否允許HTTP文件上傳。參見 upload_max_filesize, upload_tmp_dir, post_max_size 指令。
upload_tmp_dir =
; 存放上傳文件的臨時目錄(必須是PHP進(jìn)程可寫的目錄)。設(shè)為空表示使用系統(tǒng)默認(rèn)的臨時目錄。
; 如果指定的目錄不可寫,將會自動使用系統(tǒng)默認(rèn)的臨時目錄。
; 如果設(shè)置了 open_basedir ,那么其中必須包含系統(tǒng)默認(rèn)的臨時目錄,否則上傳功能將無法使用。
upload_max_filesize = 2M
; 允許上傳的文件最大尺寸(必須小于 post_max_size 的值)。
max_file_uploads = 20
; 一次HTTP請求允許同時上傳的最大文件數(shù)量。
[Core-Windows]
windows.show_crt_warning = Off
; 是否顯示C運行時的警告消息(僅存在于Windows平臺)
;;;;;;;;;;;;;;;;;;;;;
;; 核心擴(kuò)展 ;;
;;;;;;;;;;;;;;;;;;;;;
[DateTime]
; 前四個配置選項目前僅用于 date_sunrise() 和 date_sunset() 函數(shù)。
date.default_latitude = 31.7667
; 默認(rèn)緯度
date.default_longitude = 35.2333
; 默認(rèn)經(jīng)度
date.sunrise_zenith = 90.833333
; 默認(rèn)日出天頂
date.sunset_zenith = 90.833333
; 默認(rèn)日落天頂
date.timezone =
; 未設(shè)定TZ環(huán)境變量時用于所有日期和時間函數(shù)的默認(rèn)時區(qū)。
; 中國大陸應(yīng)當(dāng)使用"PRC"或"Asia/Shanghai"
; 應(yīng)用時區(qū)的優(yōu)先順序為:
; 1. 用 date_default_timezone_set() 函數(shù)設(shè)定的時區(qū)(如果設(shè)定了的話)
; 2. TZ 環(huán)境變量(如果非空的話)
; 3. 該指令的值(如果設(shè)定了的話)
; 4. PHP自己推測(如果操作系統(tǒng)支持)
; 5. 如果以上都不成功,則使用 "UTC"
[ErrorHandling]
error_reporting = E_ALL
; 錯誤報告應(yīng)該包含的內(nèi)容(位字段的疊加):
; 1 E_ERROR 致命的運行時錯誤
; 2 E_WARNING 運行時警告(非致命性錯誤)
; 4 E_PARSE 編譯時解析錯誤
; 8 E_NOTICE 運行時提醒(經(jīng)常是bug,也可能是有意的)
; 16 E_CORE_ERROR PHP啟動時初始化過程中的致命錯誤
; 32 E_CORE_WARNING PHP啟動時初始化過程中的警告(非致命性錯)
; 64 E_COMPILE_ERROR 編譯時致命性錯
; 128 E_COMPILE_WARNING 編譯時警告(非致命性錯)
; 256 E_USER_ERROR 用戶自定義的致命錯誤
; 512 E_USER_WARNING 用戶自定義的警告(非致命性錯誤)
; 1024 E_USER_NOTICE 用戶自定義的提醒(經(jīng)常是bug,也可能是有意的)
; 2048 E_STRICT 編碼標(biāo)準(zhǔn)化警告(建議如何修改以向前兼容)
; 4096 E_RECOVERABLE_ERROR 接近致命的運行時錯誤,若未被捕獲則視同 E_ERROR
; 8192 E_DEPRECATED 對在未來版本中可能無法正常工作的代碼給出警告
; 16384 E_USER_DEPRECATED 用戶自定義的警告(對在未來版本中可能無法正常工作的代碼給出警告)
; 32767 E_ALL 上述所有錯誤與警告
; [注意]不能在 php.ini 之外使用這些常量(必須使用數(shù)值)。
; 開發(fā)環(huán)境可設(shè)為 2147483647(所有二進(jìn)制位全為1) 打開現(xiàn)在或?qū)砜赡艹霈F(xiàn)的各種錯誤與警告。
; 在生產(chǎn)服務(wù)器上建議設(shè)為 E_ALL & ~E_DEPRECATED & ~E_STRICT 以避免過多的性能損失。
; 若想進(jìn)一步提升性能,可以考慮設(shè)為 E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (僅包含錯誤)
display_errors = On
; 是否將錯誤信息作為輸出的一部分顯示。
; 在最終發(fā)布的web站點上,強烈建議你關(guān)掉這個特性,并使用錯誤日志代替。
; 在最終發(fā)布的web站點打開這個特性可能暴露一些敏感信息。
; 特殊值 STDOUT 與 STDERR 僅可用于 CGI/CLI 模式(CLI模式默認(rèn)值=STDOUT)。
display_startup_errors = On
; 是否顯示PHP啟動時的錯誤(PHP7默認(rèn)值=Off)。
; 即使 display_errors = On ,關(guān)閉此參數(shù)也不顯示PHP啟動時的錯誤。
; 在生產(chǎn)服務(wù)器上建議關(guān)掉這個特性以避免泄漏敏感的配置信息。
log_errors = Off
; 是否將錯誤信息記錄到 error_log 指定的目標(biāo)。
; 強烈建議你在生產(chǎn)環(huán)境使用日志記錄錯誤而不是直接輸出,
; 這樣可以讓你既知道那里出了問題,又不會暴露敏感信息。
; FPM/FastCGI 模式的默認(rèn)值=On
log_errors_max_len = 1024
; 允許記錄錯誤信息的最大字節(jié)長度。設(shè)為 0 可以允許無限長度。
ignore_repeated_errors = Off
; 是否忽略重復(fù)的錯誤信息。
; 錯誤信息必須出現(xiàn)在同一腳本的同一行才被被視為重復(fù)(除非 ignore_repeated_source = On)。
ignore_repeated_source = Off
; 當(dāng) ignore_repeated_errors = On 時,是否忽略錯誤消息的來源(忽略來自不同代碼的相同錯誤消息)。
report_memleaks = On
; 是否報告內(nèi)存泄漏。這個參數(shù)只在以調(diào)試方式編譯的PHP中起作用,
; 并且必須在 error_reporting 指令中包含 E_WARNING
report_zend_debug = Off
; 尚無說明文檔 (PHP7 的 Apache/FPM/FastCGI 模式默認(rèn)值=On)
html_errors = On
; 是否在出錯信息中使用HTML標(biāo)記。
; 在需要記錄錯誤日志的時候不要使用這個特性!
; [提示]對于 CLI 模式,此指令被硬編碼為 Off
xmlrpc_errors = Off
; 是否將錯誤報告的格式設(shè)置為XML-RPC錯誤信息的格式(關(guān)閉正常的錯誤報告)。
xmlrpc_error_number = 0
; XML-RPC faultCode 元素的值(僅在 xmlrpc_errors = On 時有意義)。
docref_root = ;"https://www.php.net/manual/zh/"
docref_ext = ;".php"
; 如果 html_errors = On 并且設(shè)置了 docref_root ,那么PHP將會在出錯信息上顯示超連接。
; 直接鏈接到一個說明這個錯誤或者導(dǎo)致這個錯誤的函數(shù)的頁面。
; 你可以下載php手冊之后,將 docref_root 指令指向你本地的手冊所在的URL目錄。
; 你還必須設(shè)置 docref_ext 指令來指定文件的擴(kuò)展名(必須含有'.')。
; [注意]不要在生產(chǎn)服務(wù)器上使用這個特性。
error_prepend_string = ;"<span style='color: #ff0000'>"
error_append_string = ;"</span>"
; 附加在錯誤信息前后的字符串(一般用于添加顏色)
error_log =
; 設(shè)置記錄錯誤日志的目標(biāo)。如果是一個文件(推薦做法),那么必須擁有寫權(quán)限。
; 設(shè)為 syslog 表示記錄到系統(tǒng)日志中(NT下的事件日志, Unix下的syslog(3))
; 設(shè)為空表示:Apache錯誤日志(apache2handler)、標(biāo)準(zhǔn)錯誤(CLI)、不記錄(FPM)。
; FPM/FastCGI 模式的默認(rèn)值="/var/log/php-fpm/www-error.log"(RHEL/CentOS)
syslog.facility = LOG_USER
; 系統(tǒng)日志中的 facility 字段值(產(chǎn)生日志的子系統(tǒng))。
; 僅在 error_log = syslog 時有意義。
syslog.filter = no-ctrl
; 過濾(轉(zhuǎn)義為"\x???")日志消息中的哪些不安全字符:
; ascii (僅允許 ASCII 字符與 NL 字符)
; no-ctrl (允許所有非控制字符)
; all (允許所有字符)
; raw (允許所有字符,但不在換行符處分割日志消息)
; 僅在 error_log = syslog 時有意義。
syslog.ident = php
; 系統(tǒng)日志中的 ident 字段值(日志消息前綴[識別字符串])。
; 僅在 error_log = syslog 時有意義。
[FileStream]
allow_url_fopen = On
; 是否允許將URL(例如 http:// 或 ftp://)當(dāng)作文件使用。
allow_url_include = Off
; 是否允許 include/require URL(例如 http:// 或 ftp://)。
user_agent =
; PHP訪問URL時使用的"User-Agent"字符串
default_socket_timeout = 60
; socket 流的默認(rèn)超時秒數(shù)
from =
; 定義匿名ftp的密碼(一個email地址)
auto_detect_line_endings = Off
; 是否讓PHP自動偵測行結(jié)束符(EOL)。
; 如果的你腳本必須處理Macintosh文件,或者你運行在Macintosh上,同時又要處理unix或win32文件,
; 打開這個指令可以讓PHP自動偵測EOL,以便 fgets() 和 file() 函數(shù)可以正常工作。
; 但同時也會導(dǎo)致在Unix系統(tǒng)下使用回車符(CR)作為項目分隔符的人遭遇不兼容行為。
; 另外,在檢測第一行的EOL習(xí)慣時會有很小的性能損失。
[Filter]
;extension=filter
; 對來源不可靠的數(shù)據(jù)進(jìn)行確認(rèn)和過濾。
filter.default = unsafe_raw
; 使用指定的過濾器過濾 $_GET, $_POST, $_COOKIE, $_REQUEST, $_SERVER 數(shù)據(jù)( unsafe_raw 表示不做任何過濾)。
; 原始數(shù)據(jù)可以通過 filter_input() 函數(shù)訪問。
filter.default_flags =
; 默認(rèn)的過濾標(biāo)志。
[OptionsInfo]
assert.active = On
; 是否啟用 assert() 斷言評估。
assert.bail = Off
; 是否在發(fā)生失敗斷言時中止腳本的執(zhí)行
assert.warning = On
; 是否為每個失敗斷言都發(fā)出警告
assert.callback =
; 發(fā)生失敗斷言時執(zhí)行的回調(diào)函數(shù)
assert.exception = On
; 是否在斷言失敗時拋出 AssertionError 異常
; PHP7的默認(rèn)值=Off
enable_dl = On
; 是否允許使用dl()函數(shù)。dl()函數(shù)僅在將PHP作為apache模塊安裝時才有效。
; 禁用dl()函數(shù)主要是出于安全考慮,因為它可以繞過 open_basedir 指令的限制。
; 這個特性將來肯定會被移除。強烈建議設(shè)為 Off 。
max_execution_time = 30
; 每個腳本允許的最大執(zhí)行時間(秒),0 表示沒有限制。
; 這個參數(shù)有助于阻止劣質(zhì)腳本無休止的占用服務(wù)器資源。
; 該指令僅影響腳本本身的運行時間,任何其它花費在腳本運行之外的時間,
; 例如 system()/sleep()函數(shù)、數(shù)據(jù)庫查詢、文件上傳等,都不包括在內(nèi)。
; [提示]對于 CLI 模式,此指令被硬編碼為"0"(沒有限制)
; [提示]不要將此指令設(shè)置為大于 Apache 的 Timeout 指令(可能提前中斷 PHP 的執(zhí)行)。
max_input_time = -1
; 每個腳本接收輸入數(shù)據(jù)(POST, GET, upload)的最大允許時間(秒)。
; -1 表示不限制。在生產(chǎn)服務(wù)器上應(yīng)該限制為一個明確的值以阻止腳本無限運行。
; 如果用戶的網(wǎng)速較慢且需要上傳大文件,那么應(yīng)該設(shè)置一個較大的數(shù)值。
; [提示]對于 CLI 模式,此指令被硬編碼為"-1"(沒有限制)
max_input_nesting_level = 64
; 輸入變量($_GET, $_POST, $_COOKIE ...)的最大嵌套深度
max_input_vars = 1000
; 輸入變量($_GET, $_POST, $_COOKIE ...)的最大總成員數(shù)。
; 此指令減輕了以哈希碰撞來進(jìn)行拒絕服務(wù)攻擊的可能性
; 超過限定數(shù)量的輸入變量將會被截斷,并導(dǎo)致 E_WARNING 產(chǎn)生。
zend.enable_gc = On
; 是否開啟循環(huán)引用記數(shù)搜集器(垃圾回收)。關(guān)閉此指令可能會導(dǎo)致內(nèi)存泄漏。
[Mail]
mail.add_x_header = Off
; 是否添加 X-PHP-Originating-Script: 郵件頭,以包含"腳本UID + 文件名"信息
mail.force_extra_parameters =
; 強制指定 mail() 函數(shù)的第5個參數(shù)。
mail.log =
; 如何記錄對 mail() 函數(shù)的調(diào)用。設(shè)為空表示不記錄。
; 可以設(shè)為一個文件路徑表示記錄到文件,也可以設(shè)為 syslog 表示記錄到系統(tǒng)日志。
SMTP = "localhost"
; mail() 函數(shù)中用來發(fā)送郵件的SMTP服務(wù)器的主機名稱或者IP地址(僅用于Windows)。
smtp_port = 25
; SMTP服務(wù)器的端口號(僅用于Windows)。
sendmail_from =
; 發(fā)送郵件時使用的"From:"頭中的郵件地址(僅用于win32)。
; 該選項還同時設(shè)置了"Return-Path:"頭。
sendmail_path = /path/to/sendmail
; sendmail 程序的路徑(包括命令行參數(shù))。
; configure 腳本會嘗試找到該程序并設(shè)定為默認(rèn)值(通常是"/usr/sbin/sendmail -t -i"),但是如果失敗的話,可以在這里手動設(shè)定。
; 不使用 sendmail 的系統(tǒng)應(yīng)將此指令設(shè)定為 sendmail 替代程序(如果有的話)。
; 該指令在 Windows 平臺上的默認(rèn)值為空。
; 如果在 Windows 平臺上設(shè)置了此指令,那么 smtp smtp_port sendmail_from 指令都會被忽略并運行此處指定的命令。
[Misc]
ignore_user_abort = Off
; 是否即使在用戶中止請求后也堅持完成整個請求。
; 建議設(shè)為 On ,因為長請求可能會導(dǎo)致用戶中途中止或瀏覽器超時。
highlight.comment = "#FF8000"
highlight.default = "#0000BB"
highlight.html = "#000000"
highlight.keyword = "#007700"
highlight.string = "#DD0000"
; 語法高亮模式的色彩(通常用于顯示 .phps 文件)。
; 只要能被 <span style="color: ???????"> 接受,就能正常工作。
browscap = ;"c:/windows/system32/inetsrv/browscap.ini"
; 瀏覽器功能文件的位置和文件名(只有PWS和IIS才需要這個設(shè)置)。
[OutputControl]
output_buffering = 0
; 輸出緩沖區(qū)大小(字節(jié))。建議值為4096[還可以通過 ob_start() 函數(shù)控制]。
; 輸出緩沖允許你甚至在輸出正文內(nèi)容之后再發(fā)送HTTP頭(包括cookies)。
; 設(shè)置輸出緩沖有時可以減少網(wǎng)絡(luò)數(shù)據(jù)包的發(fā)送(提升網(wǎng)絡(luò)性能)。
; 這個參數(shù)的實際收益很大程度上取決于你使用的是什么Web服務(wù)器以及什么樣的腳本。
; [提示]對于 CLI 模式,此指令被硬編碼為"0"(禁用輸出緩沖)
output_handler =
; 將所有腳本的輸出重定向到一個輸出處理函數(shù)。
; 例如,設(shè)為"mb_output_handler"重定向到 mb_output_handler() 函數(shù)時,字符編碼將被透明地轉(zhuǎn)換為指定的編碼。
; 一旦在這里指定了輸出處理程序,輸出緩沖將被自動打開(緩沖區(qū)大小=無限)。
; 注意0: 此處僅能使用PHP內(nèi)置函數(shù),自定義函數(shù)應(yīng)在腳本中使用 ob_start() 函數(shù)指定。
; 注意1: 可移植腳本不能依賴該指令,而應(yīng)使用 ob_start() 函數(shù)明確指定輸出處理函數(shù)。
; 不要輕易使用這個指令,否則可能會導(dǎo)致某些你不熟悉的腳本出錯。
; 注意2: 不能同時使用"mb_output_handler"和"ob_iconv_handler"兩個輸出處理函數(shù)。
; 不能同時使用"ob_gzhandler"輸出處理函數(shù)和"zlib.output_compression"指令。
; 注意3: 如果"zlib.output_compression = On",那么該指令必須為空(代之以"zlib.output_handler")。
implicit_flush = Off
; 是否要求PHP輸出層在每個輸出塊之后自動刷寫數(shù)據(jù)。
; 這等效于在每個 print()、echo()、HTML塊 之后自動調(diào)用 flush() 函數(shù)。
; 打開這個選項對程序執(zhí)行的性能有嚴(yán)重影響,只推薦在調(diào)試時使用。
; [提示]對于 CLI 模式,此指令被硬編碼為"On"(強制自動刷寫)
[PCRE]
pcre.backtrack_limit = 1000000
; 最大回溯(backtracking)深度。
pcre.recursion_limit = 100000
; 最大遞歸(recursion)深度。如果你將該值設(shè)的非常高,將可能耗盡進(jìn)程的??臻g,導(dǎo)致PHP崩潰。
pcre.jit = 1
; 是否開啟PCRE庫的 JIT(just-in-time) 編譯。
[Phar]
;extension=phar
; 將PHP應(yīng)用/類庫打包以簡化部署(以只讀方式供他人使用)
phar.readonly = On
; 是否開啟 Phar 只讀模式。務(wù)必在生產(chǎn)環(huán)境開啟此指令,否則會留下巨大的安全漏洞。
phar.require_hash = On
; 是否驗證所有 Phar 歸檔的簽名(防止歸檔內(nèi)容被篡改)。建議開啟以增強安全性。
phar.cache_list =
; 要在服務(wù)器啟動階段預(yù)解析的 Phar 歸檔列表(用于提升性能)。
[Session]
session.save_handler = files
; 存儲和檢索會話數(shù)據(jù)的存儲處理器名字。默認(rèn)為文件("files")。
; 設(shè)為"user"表示可以使用 session_set_save_handler() 注冊自定義的存儲處理器。
; 擴(kuò)展模塊可以注冊新的存儲處理器。所有已注冊的存儲處理器都可以通過 phpinfo() 查看。
session.save_path =
; 傳遞給 save_handler 的參數(shù)。對于 files 處理器表示存儲會話數(shù)據(jù)文件的目錄(默認(rèn)為系統(tǒng)臨時目錄)。
; 可以使用"N;[MODE;]/path"模式定義該目錄,可選的[MODE;]為8進(jìn)制數(shù)表示的數(shù)據(jù)文件訪問權(quán)限(默認(rèn)為"600"),
; 整數(shù)N表示使用N層深度的子目錄(而不是將所有數(shù)據(jù)文件都保存在同一個目錄下),以提高大量會話的性能。
; 注意: (1)"N;[MODE;]/path"兩邊的雙引號不能省略(因為";"是注釋符)。(2)[MODE;]并不會改寫進(jìn)程的umask。
; (3)PHP不會自動創(chuàng)建這些目錄結(jié)構(gòu)(可使用 ext/session 目錄下的 mod_files.sh 腳本)。
; (4)如果該目錄(比如"/tmp")可以被不安全的用戶讀取或檢索,那么將會帶來安全漏洞(泄漏會話ID甚至?xí)挃?shù)據(jù))。
; (5)當(dāng)N>0時自動垃圾回收將會失效(詳見 session.gc_* 指令)。
; (6)僅在確實擁有海量會話時才可能需要設(shè)置N>2(每一層有64個子目錄,N=3表示要創(chuàng)建64*64*64個子目錄)。
; (7)建議針對每個不同的虛擬主機分別設(shè)置各自不同的會話存儲目錄。
; FPM/FastCGI 模式的默認(rèn)值="/var/lib/php/session"(RHEL/CentOS)
session.name = PHPSESSID
; 用在cookie里的會話ID標(biāo)識名,只能包含字母和數(shù)字。
session.auto_start = Off
; 是否在客戶訪問任何頁面時都自動初始化會話引擎。
; 因為類定義必須在會話啟動之前被載入,所以打開這個選項之后就不能在會話中存放對象了。
session.serialize_handler = php
; 用來序列化/解序列化數(shù)據(jù)的處理器,可以使用"php","php_binary","php_serialize"。
; 推薦使用新式的"php_serialize"代替默認(rèn)的老式"php"以避免某些限制和缺陷。
; [注意]一旦啟用了WDDX支持,將只能使用"wddx"。
session.gc_probability = 1
session.gc_divisor = 100
; 定義在每次初始化會話時,啟動垃圾回收程序的概率。
; 這個收集概率計算公式如下:session.gc_probability/session.gc_divisor
; 對會話頁面訪問越頻繁,概率就應(yīng)當(dāng)越小。建議設(shè)為1/(1000~5000)。
session.gc_maxlifetime = 1440
; 超過此指令所指的秒數(shù)后,保存的數(shù)據(jù)將被視為'垃圾'并由垃圾回收程序清理。
; 判斷標(biāo)準(zhǔn)是最后訪問數(shù)據(jù)的時間(對于FAT文件系統(tǒng)是最后刷新數(shù)據(jù)的時間)。
; 如果多個腳本共享同一個 session.save_path 目錄但 session.gc_maxlifetime 不同,
; 那么將以所有 session.gc_maxlifetime 指令中的最小值為準(zhǔn)。
; 如果使用多層子目錄來存儲數(shù)據(jù)文件,垃圾回收程序不會自動啟動。
; 你必須使用一個你自己編寫的腳本、cron項或者其他辦法來執(zhí)行垃圾搜集。
; 比如,下面的腳本相當(dāng)于設(shè)置了"session.gc_maxlifetime=1440" (24分鐘):
; cd /path/to/sessions; find -cmin +24 | xargs rm
session.referer_check =
; 如果請求頭中的"Referer:"字段不包含此處指定的字符串則會話ID將被視為無效。
; 注意:如果請求頭中根本不存在"Referer:"字段的話,會話ID將仍將被視為有效。
; 默認(rèn)為空,即不做檢查(全部視為有效)。
session.use_strict_mode = 0
; 是否使用嚴(yán)格會話ID模式(拒絕未初始化的會話ID)。開啟嚴(yán)格模式可以保護(hù)服務(wù)器免遭會話固定攻擊。
; "嚴(yán)格模式"的含義是:如果瀏覽器發(fā)送了一個未初始化的會話ID,那么服務(wù)器將會回應(yīng)一個新的已初始化的會話ID。
; 默認(rèn)值"0"表示禁用嚴(yán)格模式。建議設(shè)為"1"開啟此特性。
session.use_cookies = 1
; 是否使用cookie在客戶端保存會話ID("1"表示啟用、"0"表示禁用)。
session.use_only_cookies = 1
; 是否僅使用cookie在客戶端保存會話ID("1"表示啟用、"0"表示禁用)。
; 啟用此特性可以避免使用URL傳遞會話ID帶來的安全問題。
; 建議開啟此選項以增強安全性。
session.cookie_lifetime = 0
; 傳遞會話ID的Cookie有效期(秒),"0"表示僅在瀏覽器打開期間有效。
; [提示]如果你不能保證服務(wù)器時間和客戶端時間嚴(yán)格一致請不要改變此默認(rèn)值!
session.cookie_path = /
; 傳遞會話ID的Cookie作用路徑。
session.cookie_domain =
; 傳遞會話ID的Cookie的作用域(域名)。
; 默認(rèn)值空表示根據(jù)cookie規(guī)范生成的主機名。
session.cookie_secure = 0
; 是否僅僅通過安全連接(https)發(fā)送cookie("1"表示啟用、"0"表示禁用)。
session.cookie_httponly = 0
; 是否在cookie中添加httpOnly標(biāo)志(僅允許HTTP協(xié)議訪問)("1"表示啟用、"0"表示禁用)。
; 啟用此特性將導(dǎo)致客戶端腳本(JavaScript等)無法訪問該cookie。
; 打開該指令可以有效預(yù)防通過XSS攻擊劫持會話ID。
session.cookie_samesite =
; 向cookie中添加SameSite屬性的值("Strict", "Lax", "None" 之一[務(wù)必保留引號]),
; 允許服務(wù)器向客戶端聲明不應(yīng)將此cookie用于跨站請求,這有助于預(yù)防跨站請求偽造(Cross-Site Request Forgery)。
; 并不是所有瀏覽器都支持此特性。設(shè)為空表示不隨cookie一起發(fā)送SameSite屬性。
; "Strict"表示同時禁止 POST 與 GET 跨站發(fā)送cookie
; "Lax"表示禁止 POST 跨站發(fā)送cookie 、但允許 GET 跨站發(fā)送cookie
; 詳見 https://tools.ietf.org/html/draft-west-first-party-cookies-07
session.cache_limiter = nocache
; 指定會話頁面的緩存控制策略(nocache|private|private_no_expire|public)。
; nocache 表示禁止客戶端與代理服務(wù)器緩存; public 表示允許客戶端與代理服務(wù)器緩存;
; private 表示允許客戶端緩存但禁止代理服務(wù)器緩存;
; private_no_expire 與 private 相同,但不發(fā)送 "Expire:" 響應(yīng)頭(解決 Mozilla 等瀏覽器可能無法正確處理 Expire 響應(yīng)頭的BUG)。
; 設(shè)為空表示不發(fā)送任何與緩存策略相關(guān)的響應(yīng)頭。詳見 session_cache_limiter() 函數(shù)。
session.cache_expire = 180
; 指定會話頁面在客戶端緩存中的有效期限(分鐘)。當(dāng) session.cache_limiter = nocache 時,此設(shè)置無意義。
session.use_trans_sid = 0
; 是否使用明碼在URL中顯示SID(會話ID)("1"表示啟用、"0"表示禁用)。
; 基于URL的會話管理總是比基于Cookie的會話管理有更多的風(fēng)險,應(yīng)當(dāng)禁用。
session.trans_sid_tags = "a=href,area=href,frame=src,form="
; 指定重寫哪些HTML標(biāo)簽來包含SID(僅在 session.use_trans_sid = On 時有意義)。
; <form> 標(biāo)簽比較特殊,如果你包含它,URL重寫器將添加一個隱藏的 <input> 字段,
; 它包含了本應(yīng)當(dāng)額外追加到URL上的信息(<input hidden="session_id" name="session_name">)。
; <form> 標(biāo)簽的 action 屬性中的URL不會被修改(除非明確指定了 action 屬性)。
; 注意:所有合法的項都需要一個等號(即使后面沒有值)。
session.trans_sid_hosts =
; 默認(rèn)并不重寫絕對URL,必須在運行時使用 ini_set() 指定目標(biāo)域名才可以重寫絕對URL。
; <form> 標(biāo)簽比較特殊,PHP 在檢查 action 屬性的URL時,會無視 session.trans_sid_tags 指令。
; 如果未指定任何域名,那么將會把 $_SERVER['HTTP_HOST'] 作為允許的域名。
; 可以使用逗號分隔一組域名,例如: php.net,www.php.net,wiki.php.net (禁止在其中包含空格)
session.sid_length = 32
; 會話ID字符串的長度(22~256)。建議最少使用32個字符長度(越長越安全)。
session.sid_bits_per_character = 4
; 定義會話ID中每個字符容納幾個哈希位(數(shù)字越大越安全)。取值范圍:
; 4 (4 bits: 0-9, a-f)
; 5 (5 bits: 0-9, a-v)(推薦值)
; 6 (6 bits: 0-9, a-z, A-Z, "-", ",")
url_rewriter.tags = "form="
; 實時URL重寫(需要開啟 output_buffering 支持)的目標(biāo)標(biāo)簽。
; [注意]此指令的 session 功能已經(jīng)被 session.trans_sid_tags 指令取代。
url_rewriter.hosts =
; 實時URL重寫(需要開啟 output_buffering 支持)的目標(biāo)主機。
; 雖然此指令屬于PHP核心部分,但是卻用于Session模塊的配置。
; 詳見 session.trans_sid_hosts 指令。
session.upload_progress.enabled = On
; 是否利用 $_SESSION 數(shù)組跟蹤上傳進(jìn)度。
session.upload_progress.cleanup = On
; 是否在讀取完成全部POST數(shù)據(jù)之后(上傳完成之后)立即清除上傳進(jìn)度信息。
; 強烈建議保持默認(rèn)值 On
session.upload_progress.prefix = upload_progress_
; 在 $_SESSION 數(shù)組中用于跟蹤上傳進(jìn)度的鍵名稱前綴。
; 此前綴將會和 $_POST[ini_get("session.upload_progress.name")] 拼接在一起組成鍵名稱。
session.upload_progress.name = PHP_SESSION_UPLOAD_PROGRESS
; 在 $_SESSION 數(shù)組中用于跟蹤上傳進(jìn)度的鍵名稱后綴。
; 如果 $_POST[ini_get("session.upload_progress.name")] 不存在,那么將不會跟蹤上傳進(jìn)度。
session.upload_progress.freq = "1%"
; 以什么樣的步長更新上傳進(jìn)度,可以設(shè)為百分比或字節(jié)數(shù)。
session.upload_progress.min_freq = 1
; 更新上傳進(jìn)度的最小時間間隔(秒)。
session.lazy_write = On
; 是否僅在會話數(shù)據(jù)發(fā)生變化時才向磁盤寫入會話數(shù)據(jù)。
[Tokenizer]
;extension=tokenizer
; PHP源代碼語法解析器
[Variable]
unserialize_callback_func =
; 如果解序列化處理器需要實例化一個未定義的類,
; 指定的回調(diào)函數(shù)將以該未定義類的名字作為參數(shù)被 unserialize() 調(diào)用,
; 以免得到不完整的"__PHP_Incomplete_Class"對象。
; 如果沒有指定回調(diào)函數(shù),或指定的回調(diào)函數(shù)不包含(或?qū)崿F(xiàn))那個未定義的類,將會顯示警告信息。
; 所以僅在確實需要實現(xiàn)這樣的回調(diào)函數(shù)時才設(shè)置該指令。
; 若要禁止這個特性,只需置空即可。
unserialize_max_depth = 4096
; 未序列化結(jié)構(gòu)的默認(rèn)最大深度限制。設(shè)置得太深可能會導(dǎo)致在解序列化期間堆棧溢出。
; 設(shè)為 0 表示沒有深度限制。此設(shè)置可以在調(diào)用 unserialize() 時被 max_depth 參數(shù)覆蓋。
;;;;;;;;;;;;;;;;;;;;;
;; 綁定擴(kuò)展 ;;
;;;;;;;;;;;;;;;;;;;;;
;extension=bcmath
; 任意精度數(shù)學(xué)計算
;extension=calendar
; 在不同歷法間進(jìn)行轉(zhuǎn)換
;extension=ctype
; 高效檢測字符串是否僅包含指定類型的字符
;extension=mbstring
; 處理多字節(jié)字符串
;extension=exif
; 讀取圖片文件中的元數(shù)據(jù)
; exif 模塊依賴于 mbstring 模塊,必須在 mbstring 模塊之后加載。
;extension=fileinfo
; 猜測文件的內(nèi)容類型及編碼
;extension=ftp
; FTP客戶端
;extension=iconv
; 字符集轉(zhuǎn)換
;extension=gd
; 圖像處理
;extension=intl
; 國際化與本地化
;extension=shmop
; 操作 Unix 共享內(nèi)存
;extension=sockets
; 網(wǎng)絡(luò)套接字
;extension=sqlite3
; SQLite v3 數(shù)據(jù)庫
;extension=zlib
; gzip 壓縮與解壓
;zend_extension=opcache
; 將預(yù)編譯的字節(jié)碼存儲到共享內(nèi)存中來提升性能(省去每次加載和解析PHP腳本的開銷)
[BCMath]
bcmath.scale = 0
; 用于所有bcmath函數(shù)的默認(rèn) scale 參數(shù)的值(小數(shù)點后的小數(shù)保留位數(shù))。
[Exif]
exif.encode_unicode = ISO-8859-15
; 編碼UNICODE用戶注釋所使用的字符編碼。默認(rèn)值 ISO-8859-15 僅可用于大多數(shù)非亞洲國家。
; 在開啟了 mbstring 模塊的情況下,可以設(shè)為一個 mbstring 支持的字符編碼,
; 也可以設(shè)為空表示使用 mbstring.internal_encoding 指令的值。
exif.decode_unicode_intel = UCS-2LE
exif.decode_unicode_motorola = UCS-2BE
; 分別按照小端序(intel)/大端序(motorola)設(shè)置解碼UNICODE用戶注釋所使用的字符編碼。
; 在開啟了 mbstring 模塊的情況下,可以設(shè)為一個 mbstring 支持的字符編碼列表。不能設(shè)置為空。
exif.encode_jis =
; 編碼JIS用戶注釋所使用的字符編碼。
; 默認(rèn)為空,表示使用 mbstring.internal_encoding 指令的值。
exif.decode_jis_intel = JIS
exif.decode_jis_motorola = JIS
; 分別按照小端序(intel)/大端序(motorola)設(shè)置解碼JIS用戶注釋所使用的字符編碼。
; 在開啟了 mbstring 模塊的情況下,可以設(shè)為一個 mbstring 支持的字符編碼列表。不能設(shè)置為空。
[iconv]
iconv.input_encoding =
; 反對使用該指令(已在 PHP 5.6.0 中廢棄)(應(yīng)使用 input_encoding 指令)
iconv.output_encoding =
; 反對使用該指令(已在 PHP 5.6.0 中廢棄)(應(yīng)使用 output_encoding 指令)
iconv.internal_encoding =
; 反對使用該指令(已在 PHP 5.6.0 中廢棄)(應(yīng)使用 internal_encoding 指令)
[GD]
gd.jpeg_ignore_warning = 1
; 是否忽略jpeg解碼器的警告信息(比如無法識別圖片格式)("1"表示啟用、"0"表示禁用)。
[intl]
intl.default_locale =
; intl 函數(shù)(方法)的默認(rèn) ICU locale 值(不是操作系統(tǒng)的 locale)。
; 默認(rèn)值為空,表示使用 ICU 的默認(rèn) locale 值。
; 因為一旦在 php.ini 中設(shè)置了此指令,就不能再重置為默認(rèn)值,所以建議保持默認(rèn)的空值,不要去明確設(shè)置它。
intl.error_level = 0
; intl 函數(shù)(方法)的錯誤消息等級。取值范圍和 error_reporting 指令一致(例如 E_WARNING)。
; 默認(rèn)值 0 表示禁止一切錯誤消息。此指令不會影響 intl 函數(shù)的返回值。
; 選中 E_ERROR 將會導(dǎo)致在 intl 函數(shù)(方法)出錯時中止整個腳本的執(zhí)行。
intl.use_exceptions = Off
; 是否在 intl 函數(shù)(方法)出錯時拋出 IntlException 異常。
; 此功能可以和 intl.error_level 同時共存。
[mbstring]
mbstring.language = neutral
; 默認(rèn)的NLS(本地語言設(shè)置),默認(rèn)值"neutral"(UTF-8)表示中立,相當(dāng)于Unicode(包含全部語言)。
; 建議不要修改此設(shè)置(除非不想將UTF-8用作內(nèi)部編碼)。
; 該指令必須放置在 mbstring.internal_encoding 指令之前。
mbstring.encoding_translation = Off
; 是否對進(jìn)入的HTTP請求進(jìn)行透明的編碼轉(zhuǎn)換,
; 也就是自動檢測輸入字符的編碼并將其透明的轉(zhuǎn)化為內(nèi)部編碼(default_charset)。
; 可移植的庫或者程序千萬不要依賴于自動編碼轉(zhuǎn)換。
mbstring.http_input =
mbstring.http_output =
mbstring.internal_encoding =
; 反對使用這些指令(已在 PHP 5.6.0 中廢棄)(應(yīng)使用 default_charset 指令)
mbstring.detect_order =
; 字符編碼的默認(rèn)檢測順序,接受一個逗號分隔的字符編碼列表。
; 默認(rèn)值取決于 mbstring.language 指令的值(多數(shù)是以"ASCII,UTF-8"開頭的列表)。
; 設(shè)為"pass"表示不對字符編碼進(jìn)行任何轉(zhuǎn)換。
; 對于簡體中文為主的環(huán)境,可設(shè)為 "ASCII,UTF-8,EUC-CN,CP936,GB18030"。
; 參見 mb_detect_order() 函數(shù)。
mbstring.substitute_character =
; 為無效編碼的字符定義替代字符。
; 設(shè)為一個整數(shù)表示替換為該整數(shù)對應(yīng)的Unicode字符,設(shè)為空表示直接刪除無效編碼的字符,
; 設(shè)為一個字符串表示替換為該字符串。建議設(shè)為 9633 (豆腐塊字符"□")。
mbstring.http_output_conv_mimetypes = "^(text/|application/xhtml\+xml)"
; 尚無文檔
mbstring.strict_detection = Off
; 是否使用嚴(yán)謹(jǐn)?shù)木幋a檢測(因為瀏覽器可能以不同于頁面的字符編碼來提交表單)。
; 盡管瀏覽器能夠根據(jù)HTML頁面合理猜測字符編碼,但明確設(shè)置 default_charset 指令效果更佳。
; 參見 mb_http_input() 函數(shù)(檢測瀏覽器使用的字符編碼)。
mbstring.regex_retry_limit = 1000000
mbstring.regex_stack_limit = 100000
; 尚無文檔
[OPcache]
opcache.enable = On
; 是否啟用操作碼緩存。
; 只能通過 ini_set() 函數(shù)禁用此功能,不能通過 ini_set() 函數(shù)啟用此功能。
opcache.enable_cli = Off
; 是否為CLI版本啟用操作碼緩存。僅用于調(diào)試目的。
opcache.memory_consumption = 128
; 最大允許 OPcache 占用的共享內(nèi)存數(shù)量(以兆字節(jié)為單位[MB])。必須設(shè)為一個大于等于 8 的整數(shù)。
opcache.interned_strings_buffer = 8
; 用于存儲預(yù)留字符串的內(nèi)存大小(以兆字節(jié)為單位[MB])。必須設(shè)為一個正整數(shù)。
opcache.max_accelerated_files = 10000
; 允許在 OPcache 哈希表中緩存的最大文件數(shù)量(取值范圍=200~1000000)。
; 實際取值范圍是在質(zhì)數(shù)集合{223,463,983,1979,3907,7963,16229,32531,65407,130987,262237,524521,1048793}
; 中找到的第一個大于等于設(shè)置值的質(zhì)數(shù),超出此范圍的值將被自動修正到允許的范圍內(nèi)。
opcache.max_wasted_percentage = 5
; 最大允許浪費的內(nèi)存百分比上限(取值范圍=1~50)。一旦達(dá)到此上限,將會重置 OPcache 。
opcache.use_cwd = On
; On 表示以"腳本文件名+腳本的工作目錄"作為 OPcache 哈希表的鍵。
; Off 表示僅以"腳本文件名"作為 OPcache 哈希表的鍵。
; 設(shè)為 On 可以避免同名腳本沖突(比較安全)。
; 設(shè)為 Off 可以提高 OPcache 的性能(可能會導(dǎo)致應(yīng)用崩潰)。
opcache.validate_timestamps = On
; 是否每隔 opcache.revalidate_freq 秒檢查一次腳本更新。
; 如果禁用此選項,那么必須使用 opcache_reset() 或 opcache_invalidate() 函數(shù)手動重置 OPcache ,
; 或者通過重啟服務(wù)來使文件系統(tǒng)更改生效。
opcache.revalidate_freq = 2
; 檢查腳本更新的間隔秒數(shù)。設(shè)為 0 表示每次請求都檢查。
; 僅在 opcache.validate_timestamps = On 時有意義。
opcache.revalidate_path = Off
; 是否檢查 include_path 中的腳本路徑。
; 設(shè)為 Off 表示重復(fù)使用 include_path 內(nèi)的緩存文件(無法找到 include_path 之外的同名文件)。
opcache.save_comments = On
; 是否緩存腳本中的注釋(舍棄注釋可以減小緩存占用)。
; 設(shè)為 Off 可能會導(dǎo)致某些依賴注釋的應(yīng)用或框架無法正常工作(例如 Doctrine, Zend Framework 2, PHPUnit)。
opcache.enable_file_override = Off
; 是否優(yōu)先使用 OPcache 檢查文件狀態(tài)(例如 file_exists(), is_file(), is_readable() ...)。
; 設(shè)為 On 可以提升檢查速度,但在 opcache.validate_timestamps = Off 時可能會返回老舊的過期數(shù)據(jù)。
opcache.optimization_level = 0x7FFEBFFF
; 控制 OPcache 優(yōu)化級別的二進(jìn)制位掩碼。
opcache.dups_fix = Off
; 僅用于解決 "Cannot redeclare class" 錯誤。
opcache.blacklist_filename =
; OPcache 黑名單(絕對路徑)。黑名單是一個純文本文件,
; 其中的每一行都是一個絕對路徑(可以包含通配符、也可以只是路徑前綴),
; 表示禁止緩存與此路徑匹配的文件。以分號(;)開頭的行將被視為注釋而忽略。
; 下面是一個簡單的黑名單示例:
; ;匹配一個特定的文件
; /var/www/broken.php
; ;匹配 /var/www/ 目錄下所有以 x 開頭的文件
; /var/www/x
; ;通配符匹配
; /var/www/*-broken.php
opcache.max_file_size = 0
; 允許緩存的最大文件尺寸(字節(jié))。"0"表示不限。
opcache.consistency_checks = 0
; 每隔多少次請求檢查一次緩存校驗和。"0"表示不檢查。
; 因為對性能有較大影響,所以僅應(yīng)該用于調(diào)試目的,切勿用于生產(chǎn)服務(wù)器。
opcache.force_restart_timeout = 180
; OPcache 處于閑置狀態(tài)超過多少秒之后將會被重啟(閑置時間過長意味著 OPcache 可能有故障)。
; 如果 opcache.log_verbosity_level ≥ 2 ,那么當(dāng)重啟發(fā)生時將會在日志中記錄一條警告信息。
opcache.error_log =
; OPcache 錯誤日志的記錄目標(biāo)(通常是一個文件路徑)。
; 設(shè)為空等價于"stderr"(通常表示記錄到Web服務(wù)器的錯誤日志中)。
opcache.log_verbosity_level = 1
; OPcache 日志級別: (0)致命 (1)錯誤 (2)警告 (3)信息 (4)調(diào)試
opcache.preferred_memory_model =
; OPcache 首選的內(nèi)存模型。建議設(shè)為空(自動選擇)。
; 取值范圍: mmap, shm, posix, win32
opcache.protect_memory = Off
; 是否保護(hù)共享內(nèi)存(避免執(zhí)行腳本時發(fā)生非預(yù)期的寫入)。僅用于內(nèi)部調(diào)試。
opcache.mmap_base =
; 共享內(nèi)存段的基地址(僅適用 Windows 平臺)。所有PHP進(jìn)程都將共享內(nèi)存映射到相同的地址空間。
; 此指令用于手動修正"Unable to reattach to base address"錯誤。
opcache.restrict_api =
; 僅允許指定路徑下的PHP腳本調(diào)用 OPcache API 函數(shù)。設(shè)為空表示不做限制。
opcache.file_update_protection = 2
; 禁止緩存最近幾秒內(nèi)(默認(rèn)2秒)被修改的文件,以避免緩存不完整的文件(可能尚未完全落盤)。
; 如果文件系統(tǒng)本身能夠確保文件更新是原子操作,那么可以設(shè)為 0 以提高站點性能。
opcache.huge_code_pages = Off
; 是否將PHP代碼(文本段)拷貝到大頁(HUGE PAGE)中。
; 使用大頁可以提高性能,但這需要CPU與操作系統(tǒng)內(nèi)核的支持以及額外的系統(tǒng)配置。
opcache.lockfile_path = /tmp
; 用來存儲共享鎖文件的絕對路徑(僅適用 Unix 平臺)。
opcache.opt_debug_level = 0
; 為了對不同階段的優(yōu)化情況進(jìn)行調(diào)試,轉(zhuǎn)儲生成的操作碼。"0"表示不轉(zhuǎn)儲。
; 設(shè)為 0x10000 表示輸出優(yōu)化前的操作碼,設(shè)為 0x20000 表示輸出優(yōu)化后的操作碼。
opcache.file_cache =
; 設(shè)置基于磁盤文件系統(tǒng)的二級緩存目錄,設(shè)為空表示禁用二級緩存。
; 啟用二級緩存可以在共享內(nèi)存已滿、服務(wù)器重啟、重置共享內(nèi)存時提高性能。
opcache.file_cache_only = Off
; 是否僅使用基于磁盤文件系統(tǒng)的二級緩存(不使用共享內(nèi)存)。
opcache.file_cache_consistency_checks = On
; 當(dāng)從基于磁盤文件系統(tǒng)的二級緩存中加載腳本時,是否檢查文件的校驗和。
opcache.file_cache_fallback = On
; 在進(jìn)程無法附加到共享內(nèi)存的時候,是否嘗試使用基于磁盤文件系統(tǒng)的二級緩存(相當(dāng)于隱式開啟 opcache.file_cache_only )。
; 僅在已設(shè)置了 opcache.file_cache = 的情況下有意義。
; 注意:(1)僅適用于 Windows 平臺;(2)禁用它可能會導(dǎo)致進(jìn)程無法啟動。
opcache.validate_permission = Off
; 是否驗證當(dāng)前用戶對緩存文件的訪問權(quán)限。
opcache.validate_root = Off
; 是否檢查 chroot 環(huán)境中的名字沖突。
; 為了防止進(jìn)程訪問到 chroot 環(huán)境之外的文件,應(yīng)該在 chroot 環(huán)境中啟用此選項。
opcache.preload =
; 指定在服務(wù)啟動時預(yù)先編譯并緩存的PHP腳本(可以在腳本中通過 include 或 opcache_compile_file() 進(jìn)一步預(yù)加載其他文件)。
; 所有被包含的函數(shù)、類等實體,在服務(wù)啟動時就會被加載和緩存(開箱可用)。
; 此特性不支持 Windows 平臺。
opcache.preload_user =
; 執(zhí)行預(yù)加載操作的用戶名(考慮到安全因素,禁止以 root 用戶預(yù)加載代碼)。
; 這些預(yù)加載的代碼也只能以此用戶身份運行。
opcache.record_warnings = Off
; On 表示腳本在每一次被 include 時都會記錄與重放編譯器警告。
; Off 表示腳本僅在第一次被緩存時才會發(fā)出編譯器警告。
opcache.cache_id =
; 為此 OPcache 實例指定一個ID值(僅適用于 Windows 平臺)。
; 所有具有相同 OPcache ID 與用戶名的PHP進(jìn)程共享同一個 OPcache 實例。
; 此指令的目的在于允許同一個用戶使用多個 OPcache 實例。
opcache.jit = tracing
opcache.jit_bisect_limit = 0
opcache.jit_blacklist_root_trace = 16
opcache.jit_blacklist_side_trace = 8
opcache.jit_buffer_size = 0
opcache.jit_debug = 0
opcache.jit_hot_func = 127
opcache.jit_hot_loop = 64
opcache.jit_hot_return = 8
opcache.jit_hot_side_exit = 8
opcache.jit_max_exit_counters = 8192
opcache.jit_max_loops_unroll = 8
opcache.jit_max_polymorphic_calls = 2
opcache.jit_max_recursive_calls = 2
opcache.jit_max_recursive_returns = 2
opcache.jit_max_root_traces = 1024
opcache.jit_max_side_traces = 128
opcache.jit_prof_threshold = 0.005
; 尚無文檔(PHP8新增)
[SQLite3]
sqlite3.extension_dir =
; 存放 SQLite 擴(kuò)展的目錄。
sqlite3.defensive = On
; On 表示禁用SQL語言中能夠損壞數(shù)據(jù)庫文件的功能(禁止直接寫入 schema, shadow, sqlite_dbpage 表)。
[Zlib]
zlib.output_compression = 0
; 壓縮腳本輸出結(jié)果的壓縮緩沖區(qū)大小("0"表示關(guān)閉此特性)。
; 當(dāng)瀏覽器發(fā)送"Accept-Encoding: gzip(deflate)"請求頭時,
; "Content-Encoding: gzip(deflate)"和"Vary: Accept-Encoding"頭將加入到應(yīng)答頭當(dāng)中。若想得到更好的壓縮效果,
; 應(yīng)當(dāng)指定一個較大的壓縮緩沖區(qū),同時開啟 output_buffering 緩沖區(qū)(最佳值應(yīng)略大于壓縮緩沖區(qū)的壓縮結(jié)果大小)。
; 如果啟用了zlib輸出壓縮,那么必須使用 zlib.output_handler 代替 output_handler 指令(后者必須設(shè)為空)。
zlib.output_compression_level = -1
; 壓縮級別,可用值為 0~9 ,0表示不壓縮,值越高效果越好,但CPU占用越多。
; 默認(rèn)值 -1 表示使用zlib內(nèi)部的默認(rèn)值(6)。
zlib.output_handler =
; 與 zlib.output_compression 指令配合使用的輸出處理器。
; 可以使用的處理器有"zlib.inflate"(解壓)或"zlib.deflate"(壓縮)。
; 如果啟用該指令則必須將 output_handler 指令設(shè)為空。
;;;;;;;;;;;;;;;;;;;;;
;; 外部擴(kuò)展 ;;
;;;;;;;;;;;;;;;;;;;;;
;extension=bz2
; Bzip2 壓縮與解壓
;extension=curl
; http, ftp, telnet, ldap 客戶端
;extension=dom
; 通過 DOM(Document Object Model) API 操作 XML 文檔
;extension=gettext
; 通過 NLS(Native Language Support) API 國際化 PHP 程序
;extension=imap
; 郵件客戶端(IMAP, POP3)
;extension=ldap
; LDAP(Lightweight Directory Access Protocol) 客戶端
;extension=mysqlnd
;extension=mysqli
; MySQL 客戶端(先加載 mysqlnd 后加載 mysqli )
;extension=openssl
; OpenSSL(加密、解密、簽名、證書)
;extension=pgsql
; PostgreSQL 客戶端
;extension=simplexml
; 一個簡單易用的XML工具集
;extension=snmp
; 簡單網(wǎng)絡(luò)管理協(xié)議(Simple Network Management Protocol)
;extension=soap
; 簡單對象訪問協(xié)議(Simple Object Access Protocol)
;extension=xml
; XML 解析器
;extension=xmlreader
;extension=xmlwriter
; XML 讀寫
;extension=zip
; ZIP 壓縮與解壓
[cURL]
curl.cainfo =
; CURLOPT_CAINFO 選項的一個默認(rèn)值。必須是一個絕對路徑。
[IMAP]
imap.enable_insecure_rsh = Off
; 是否啟用 rsh/ssh 登錄支持。開啟此選項會帶來安全隱患。
[LDAP]
ldap.max_links = -1
; 每個進(jìn)程允許開啟的最大連接數(shù)。 -1 表示無限。
[MySQLnd]
mysqlnd.collect_statistics = On
; 是否收集各種客戶端統(tǒng)計信息(可用于調(diào)?;虮O(jiān)視)。
; 可以通過 mysqli_get_client_stats(), mysqli_get_connection_stats(), mysqli_get_cache_stats() 訪問這些統(tǒng)計信息。
; 也可以在 phpinfo() 頁面上查看這些統(tǒng)計信息。
; 是否收集與內(nèi)存用量相關(guān)的統(tǒng)計信息由 mysqlnd.collect_memory_statistics 指令控制。
mysqlnd.collect_memory_statistics = Off
; 是否收集與內(nèi)存用量相關(guān)的客戶端統(tǒng)計信息(可用于調(diào)?;虮O(jiān)視)。
; 可以通過 mysqli_get_client_stats(), mysqli_get_connection_stats(), mysqli_get_cache_stats() 訪問這些統(tǒng)計信息。
; 也可以在 phpinfo() 頁面上查看這些統(tǒng)計信息。
mysqlnd.debug =
; 此指令僅在以調(diào)試模式編譯PHP時才有意義。
mysqlnd.log_mask = 0
; 指示記錄哪些SQL查詢。必須是下面這些表示查詢類別的數(shù)字之和("0"表示不記錄):
; SERVER_STATUS_IN_TRANS=1, SERVER_STATUS_AUTOCOMMIT=2, SERVER_MORE_RESULTS_EXISTS=8, SERVER_QUERY_NO_GOOD_INDEX_USED=16,
; SERVER_QUERY_NO_INDEX_USED=32, SERVER_STATUS_CURSOR_EXISTS=64, SERVER_STATUS_LAST_ROW_SENT=128,
; SERVER_STATUS_DB_DROPPED=256, SERVER_STATUS_NO_BACKSLASH_ESCAPES=512, SERVER_QUERY_WAS_SLOW=1024
mysqlnd.mempool_default_size = 16000
; 存放結(jié)果集的默認(rèn)內(nèi)存池大小(字節(jié))。
mysqlnd.net_read_timeout = 86400
; 沒有充分理解的情況下不要修改此指令的默認(rèn)值。
mysqlnd.net_cmd_buffer_size = 4096
; 為每個連接預(yù)分配的命令緩沖區(qū)的大小(字節(jié))。必須設(shè)為一個不小于 4096 的值。
; 建議設(shè)為一個較大的值(比如 8192 或 16384 或 32768)以提升性能。
mysqlnd.net_read_buffer_size = 32768
; 為每個連接預(yù)分配的讀取緩沖區(qū)的大小(字節(jié))。必須設(shè)為一個不小于 32768 的值。
; 建議設(shè)為一個較大的值(比如 65536 或 131072 或 262144)以提升性能。
mysqlnd.sha256_server_public_key =
; 用于 SHA-256 認(rèn)證插件的 MySQL 服務(wù)器 RSA 公鑰文件。
; 設(shè)置此指令之后,客戶端就可以無需再設(shè)置 MySQL 服務(wù)器的 RSA 公鑰,
; 否則客戶端必須在運行時使用 mysqli_options() 設(shè)置 MySQL 服務(wù)器的 RSA 公鑰。
; 如果客戶端沒有指定任何 RSA 公鑰,那么將直接使用 SHA-256 認(rèn)證插件接收到的服務(wù)器 RSA 公鑰(不做有效性驗證)。
mysqlnd.trace_alloc =
; 尚無文檔
mysqlnd.fetch_data_copy = Off
; 是否強制將結(jié)果集從內(nèi)部結(jié)果集緩沖區(qū)復(fù)制到PHP變量中(而不是使用默認(rèn)的引用和寫時復(fù)制邏輯)。
; 復(fù)制結(jié)果集(而不是讓PHP變量應(yīng)用它們)可以盡早釋放先前為PHP變量分配的內(nèi)存(減少內(nèi)存占用),但會降低運行速度。
; 如果使用 PDO_MySQL ,切勿開啟此特性。
[MySQLi]
mysqli.allow_local_infile = Off
; 是否允許使用 LOAD DATA 語句加載(PHP角度看的)本地文件。
mysqli.allow_persistent = On
; 是否允許創(chuàng)建持久連接。
mysqli.max_persistent = -1
; 允許創(chuàng)建的最大持久連接數(shù)。設(shè)為 -1 表示無限。
mysqli.max_links = -1
; 允許創(chuàng)建的最大連接數(shù)(持久和非持久)。設(shè)為 -1 表示無限。
mysqli.default_port = 3306
; 用于連接MySQL服務(wù)器的默認(rèn)TCP端口號($port)。如果沒有在這里指定默認(rèn)值,將按如下順序?qū)ふ遥?br />; (1) $MYSQL_TCP_PORT 環(huán)境變量
; (2) /etc/services 文件中的 mysql-tcp 項(unix)
; (3) 編譯時指定的 MYSQL_PORT 常量
; 注意:在 Windows 平臺上只使用 MYSQL_PORT 常量。
mysqli.default_socket = /var/lib/mysql/mysql.sock
; 連接到本機 MySQL 服務(wù)器時所使用的默認(rèn)套接字($socket)。
; 若未指定則使用 MySQL 內(nèi)置的默認(rèn)值。
mysqli.default_host =
; 連接到 MySQL 數(shù)據(jù)庫時使用的默認(rèn)主機名($host)。
mysqli.default_user =
; 連接到 MySQL 數(shù)據(jù)庫時使用的默認(rèn)用戶名($username)。
mysqli.default_pw =
; 連接到 MySQL 數(shù)據(jù)庫時使用的默認(rèn)密碼($passwd)。在配置文件中保存密碼是個壞主意,
; 不但程序可以通過 echo get_cfg_var("mysqli.default_pw") 來顯示密碼,
; 而且任何對該配置文件有讀權(quán)限的用戶也能看到密碼。
mysqli.reconnect = Off
; 是否允許在連接丟失時自動重新連接。
mysqli.rollback_on_cached_plink = Off
; On 表示在斷開持久連接時,首先回滾此連接上所有已掛起的事務(wù),然后再將此連接放回永久連接池。
; Off 表示只有在重用連接或?qū)嶋H關(guān)閉連接時才會回滾掛起的事務(wù)。
; 因為 libmysqlclient 與 streams 對 MYSQL_OPT_READ_TIMEOUT 有著不同的理解,
; 所以用戶不能通過API調(diào)用或運行時配置來設(shè)置 MYSQL_OPT_READ_TIMEOUT 。
[OpenSSL]
openssl.cafile =
; 本地文件系統(tǒng)上的CA(證書頒發(fā)機構(gòu))文件的路徑,用于校驗對端SSL證書的有效性。
; 設(shè)為空表示使用操作系統(tǒng)的管理的CA證書。
openssl.capath =
; 保存經(jīng)過哈希處理的CA(證書頒發(fā)機構(gòu))文件的目錄。
; 僅在 openssl.cafile 為空或指定的CA文件不存在時有意義。
; 設(shè)為空表示使用操作系統(tǒng)的管理的CA證書。
[PostgresSQL]
pgsql.allow_persistent = On
; 是否允許持久連接
pgsql.max_persistent = -1
; 每個進(jìn)程中允許持有的最大持久連接數(shù)。-1 代表無限制。
pgsql.max_links = -1
; 每個進(jìn)程允許持有的最大連接數(shù)(持久和非持久)。-1 代表無限制。
pgsql.auto_reset_persistent = Off
; 是否自動復(fù)位在 pg_pconnect() 上中斷了的持久連接。檢測需要一些額外開銷。
pgsql.ignore_notice = Off
; 是否忽略 PostgreSQL 后端的提醒消息。
; 記錄后端的提醒消息需要一些很小的額外開銷。
pgsql.log_notice = Off
; 是否在日志中記錄 PostgreSQL 后端的提醒消息。
; 僅在 pgsql.ignore_notice = Off 時有意義。
[SOAP]
soap.wsdl_cache_enabled = On
; 是否開啟 WSDL 緩存
soap.wsdl_cache_dir = /tmp
; WSDL 緩存目錄
; FPM/FastCGI 模式的默認(rèn)值="/var/lib/php/wsdlcache"(RHEL/CentOS)
soap.wsdl_cache_ttl = 86400
; WSDL 緩存有效期(秒)
soap.wsdl_cache = 1
; WSDL 緩存類型:
; WSDL_CACHE_NONE (0), WSDL_CACHE_DISK (1), WSDL_CACHE_MEMORY (2), WSDL_CACHE_BOTH (3)
soap.wsdl_cache_limit = 5
; WSDL 內(nèi)存緩存上限(最大允許在內(nèi)存中緩存的WSDL文件數(shù)量)。
; 達(dá)到上限之后,最新緩存的文件將會擠掉最老的緩存文件。
相關(guān)文章
php數(shù)組函數(shù)序列之krsort()- 對數(shù)組的元素鍵名進(jìn)行降序排序,保持索引關(guān)系
krsort() 函數(shù)將數(shù)組按照鍵逆向排序,為數(shù)組值保留原來的鍵??蛇x的第二個參數(shù)包含附加的排序標(biāo)志2011-11-11Linux下創(chuàng)建nginx腳本-start、stop、reload…
這篇文章主要介紹了Linux下創(chuàng)建nginx腳本-start、stop、reload的方法,需要的朋友可以參考下2014-08-08PHP嚴(yán)重致命錯誤處理:php Fatal error: Cannot redeclare class or funct
這篇文章主要介紹了PHP嚴(yán)重致命錯誤處理:php Fatal error: Cannot redeclare class or function,需要的朋友可以參考下2017-02-02php daddslashes()和 saddslashes()有哪些區(qū)別分析
在Discuze 開源項目中會經(jīng)常用到 saddslashes 函數(shù),這里簡單介紹下,方便需要的朋友2012-10-10