php.ini PHP設定檔中文版(PHP7,PHP8)

php.ini 中文版(PHP7,PHP8)php.ini 設定選項清單¶. 可以在php.ini 中使用下列設定選項對PHP 進行設定。

php.ini PHP設定檔中文版(PHP7,PHP8)-1

;;;;;;;;;;;;;;;;;;
;; 關於 .ini ;;
;;;;;;;;;;;;;;;;;;
; 對於伺服器模組,僅在伺服器啟動時讀取一次php.ini 。對於CGI 和CLI ,每次呼叫都會讀取php.ini 。

; PHP 會在初始化時會依照下列順序搜尋此檔案(搜到即停):
; 1. SAPI 模組指定的位置:
; (a) Apache 2.x 中的PHPIniDir 指令
; (b) CGI/CLI 模式下-c 命令列選項
; (c) NSAPI 中的php_ini 參數
; (d) THTTPD 中的PHP_INI_PATH 環境變數
; 2. PHPRC 環境變數指定的位置
; 3. Windows登錄指定的位置(依序搜尋、搜到即停):
; (a) [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\xyz] 內的IniFilePath 的值(特定於php-xyz版本)
; (b) [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\xy] 內的IniFilePath 的值(特定於php-xy*系列版本)
; (c) [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x] 內的IniFilePath 的值(特定於php-x.*.*系列版本)
; (d) [HKEY_LOCAL_MACHINE\SOFTWARE\PHP] 內的IniFilePath 的值(不特定於php的版本)
; 4. 目前工作目錄(不適用於CLI 模式)
; [提示] Apache 會在啟動時把目前工作目錄轉到根目錄,這將導致PHP 可能會嘗試在根目錄讀取php.ini 。
; 5. web 伺服器目錄(適用於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

;;;;;;;;;;;;
;; 文法;;
;;;;;;;;;;;;
; 該文件的語法非常簡單。空白行和以分號開始的行被簡單地忽略。
; 普通組態段標題(例如: [PHP])也被簡單地忽略(即使將來它們可能有某種意義)。

; 形如[PATH=/www/mysite] 的配置段表示僅作用於/www/mysite 目錄下的PHP 檔案。
; 形如[HOST=www.example.com] 的配置段表示僅作用於 http://www.example.com 站點的PHP 檔案。
; [提示]對於擁有多個網域的站點,應該使用SERVER_NAME 參數的值(也就是網域名稱清單中的第一個網域)。
; 這兩種配置段中的設定既不能在運行時修改、也不受.user.ini 檔案的影響。
; 這兩種設定段只運作於CGI/FastCGI 模式[FastCGI 協定規格中文版],且不能包含extension 與zend_extension 指令。

; 設定指令的格式如下:
; 指令= 值
; "指令"是大小寫敏感的!所以"foo=bar"不同於"FOO=bar"。
; 無法辨識的"指令"將會被直接忽略、未設定的指令將會使用其預設值。
; "值"可以是:
; 1. 一個字串(可以用引號界定,如:"foo")
; 2. 一個數字(整數或浮點數,如:0, 1, 34, -1, 33.55)
; 3. 一個PHP常數(如:E_ALL, M_PI)(不能在php.ini 之外使用[例如httpd.conf])
; 4. 一個INI常數(On, Off, Yes, No, None)
; 5. 一個表達式(如:E_ALL & ~E_NOTICE)
; [註1]可以在"值"中引用環境變量,如:"${AUTHOR}.log" 、 ".:${USER}/pear/php"
; [註2]可以在"值"中引用先前設定的指令值,如:"${open_basedir}:/new/dir"

; 僅可在表達式中使用位元運算子、邏輯非、圓括號:
; | 位元或(OR)
; ^ 位元異或(XOR)
; & 位元與(AND)
; ~ 位非(NOT)
; ! 邏輯非(NOT)

; 布林標誌以1, On, True, Yes 表示打開,以0, Off, False, No 表示關閉。

; 空字串可以用在等號後不寫任何東西表示,或用None 關鍵字:
; foo = ; 將foo設為空字串(建議的方式)
; foo = None ; 將foo設為空字串
; foo = "None" ; 將foo設為字串'None'

; 若要在指令值中使用動態擴充(PHP擴充或Zend擴充)中的常數,
; 那麼只能在載入這些動態擴充的指令列(extension 或zend_extension)之後使用這些常數。

;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 生產環境與開發環境;;
;;;;;;;;;;;;;;;;;;;;;;;;;;
; PHP 面向生產環境與開發環境分別提供了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 內建的預設值相同(也兼顧PHP-7.2 PHP-7.3 PHP-7.4 版本)。
; 也就是說,如果'php.ini'不存在,或你刪掉了某些行,預設值與之相同。

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; SAPI ( Server API ) ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[apache2handler]
; 此組態段中的指令僅在以Apache2處理器模組(php_module) 方式使用PHP時才有意義。
; [提示]可以在httpd.conf 中使用php_value/php_flag 與php_admin_value/php_admin_flag 指令覆寫php.ini 中的設定。

engine = On
; 是否啟用PHP解析引擎。一般用於基於目錄或虛擬主機來開關PHP解析引擎。

last_modified = Off
; 是否在"Last-Modified:"應答頭放置PHP腳本的最後修改時間。

xbithack = Off
; 是否不管檔案的副檔名是什麼,只要有可執行位,就都作為PHP腳本解析。

[fpm-fcgi]
; 此組態段中的指令僅在以FPM/FastCGI 方式使用PHP時才有意義。

cgi.check_shebang_line = On
; 是否檢查腳本頂部以#! 開始的行(shebang)。
; 如果腳本想要既能夠單獨運行又能夠在PHP CGI 模式下運行,那麼這個起始行(shebang)就是必須的。
; 設為On 表示在CGI模式下將會自動忽略這一行。

cgi.discard_path = Off
; 是否允許把PHP CGI 目錄放置在web 目錄樹之外以增強安全性,這樣客戶端將無法避開.htaccess 安全防護。

cgi.fix_pathinfo = On
; 是否為CGI提供真正的PATH_INFO/PATH_TRANSLATED 值(遵守cgi規範)。
; 先前的行為是無論PATH_INFO 是什麼,一律將PATH_TRANSLATED 設為SCRIPT_FILENAME 。
; 開啟此指令將使PHP修正其路徑以遵守CGI規範,否則仍將使用舊式的不合規範的行為。
; 鼓勵你開啟此指令,並修正腳本以使用SCRIPT_FILENAME 取代PATH_TRANSLATED 。
; [提示]即使將PHP-FPM 與Nginx 配合使用,也應該保持此指令為On (網上有許多老舊文章)。
; 有關PATH_INFO 的更多資訊請參閱cgi規範。

cgi.force_redirect = On
; 是否開啟cgi強制重定向。強烈建議打開它以提高安全性。
; 注意:在IIS上必須關閉它!

cgi.nph = Off
; 在CGI模式下是否強制對所有請求都發送"Status: 200"狀態碼。

cgi.redirect_status_env =
; 如果cgi.force_redirect = On 並且與非Apache配合運行PHP,
; 可能需要設定cgi重定向環境變數名,PHP將根據此環境變數決定是否繼續執行。
; 設定這個變數會導致安全漏洞,請務必在設定前搞清楚自己在做什麼。

cgi.rfc2616_headers = Off
; 指定PHP在傳送HTTP回應碼時使用何種狀態頭。
; 設為Off 表示使用符合RFC3875標準的頭(例如"Status: 404 Not Found"),Apache和其它web伺服器都支援。
; 設為On 表示使用符合RFC2616標準的頭(例如"HTTP/1.0 404 Not found")。
; 務必保持預設值Off ,除非你確實知道自己在做什麼。

fastcgi.error_header =
; 如果display_errors = Off 且被存取的php腳本包含語法錯誤,
; 那麼預設情況下,使用者將會收到一個狀態行為"HTTP/1.1 500 Internal Server Error"的空白頁面。
; 如果你認為預設的狀態行不合理,那麼可以使用此指令自訂一個狀態行(例如"HTTP/1.1 550 Server Exploded")。

fastcgi.impersonate = Off
; IIS中的FastCGI支援模仿客戶端安全性令牌的能力,這使得IIS能夠定義執行時間請求所基於的安全上下文。
; 但Apache不支援此特性。如果在IIS中運行則應設為On ,否則應設為Off 。

fastcgi.logging = On
; 是否開啟FastCGI日誌。

fpm.config =
; 明確指定FPM 設定檔(php-fpm.conf)的路徑

[cli-server]
; 此設定段中的指令僅在使用PHP內建的CLI Web Server 時才有效。

cli_server.color = Off
; 是否讓CLI Web Server 在終端輸出中使用彩色。

[cli]
; 此組態段中的指令僅在使用PHP命令列模式時才有意義(實際上是在設定readline 模組)。

cli.pager =
; 顯示命令列輸出的外部分頁程式。

cli.prompt = "\b \>"
; 以互動方式使用時的命令列提示符號。

;;;;;;;;;;;;;;;;;;;
;; 核心;;
;;;;;;;;;;;;;;;;;;;

[Core-Language]

short_open_tag = On
; 是否允許使用" "短標記。
; 除非你的php程式僅在受控環境下運行,且只供自己使用,否則請不要使用短標記。
; 如果要和XML結合使用PHP,可以選擇關閉此選項以方便直接嵌入" "。
; 本指令不影響縮寫形式"

precision = 14
; 浮點型資料的顯示精確度(有效位數)。

serialize_precision = -1
; 將浮點型和雙精度型資料序列化儲存時的精確度(有效位數)。
; 預設值-1 表示自動選擇最佳精度,能夠剛好確保浮點型資料被解序列化程式解碼時不會遺失資料。
; 此值也會影響json_encode() 編碼雙精確型資料的精確度。

disable_functions =
; 此指令接受一個以逗號分隔的函數名稱列表,以停用特定的函數。
; 此指令僅能停用內建函數,無法停用使用者自訂函數。

disable_classes =
; 此指令接受一個以逗號分隔的類別名稱列表,以停用特定的類別。

expose_php = On
; 是否暴露PHP被安裝在伺服器上的事實(在http頭中加上其簽章)。
; 它不會有安全性上的直接威脅,但它使得客戶端知道伺服器上安裝了PHP。

hard_timeout = 2
; 當腳本執行時間達到max_execution_time 限制之後會被"柔軟且安全"的結束,
; 此指令就是設定這種"柔軟且安全"的方式結束腳本的最大允許用時(秒)。
; 一旦超時(預設為2秒),就會被進一步以粗暴的方式結束(不釋放任何未釋放的資源)。

zend.assertions = 1
; 如何編譯斷言:
; -1 完全不編譯(生產模式)
; 0 編譯但是在執行時跳過
; 1 編譯並執行(開發模式)

zend.exception_ignore_args = Off
; 是否從異常產生的堆疊追蹤中排除參數。
; 建議在生產伺服器上設為On 以防止在堆疊追蹤中輸出敏感資訊。

zend.exception_string_param_max_len = 15
; 堆疊追蹤參數中允許的最大字串長度(取值範圍=0~1000000)。
; 僅在zend.exception_ignore_args = Off 時有意義。
; 建議在生產伺服器上設為0 以減少敏感資訊的輸出。

zend.multibyte = Off
; 是否允許PHP腳本使用例如CP936, Big5, CP949, Shift_JIS 這樣的不安全字元編碼。
; 與ISO-8859-1 相容的安全字元編碼(UTF-8, EUC, ...)不需要開啟此指令。
; 若要使用此特性,必須載入mbstring 擴充模組。

zend.script_encoding =
; 當PHP腳本第一行沒有"declare(encoding=...)"宣告時,預設使用的字元編碼。
; 設定此指令之後,腳本就像自動使用了mb_convert_encoding() 函數一樣,
; 將所有字串從zend.script_enconding 編碼自動轉換為mbstring.internal_encoding 編碼。
; 僅在zend.multibyte = On 時有意義。
; 如果腳本使用了與ISO-8859-1 不相容的字元編碼,建議明確設定此指令。

zend.detect_unicode = On
; 是否透過檢查腳本的BOM(位元組順序標記)來偵測腳本是否包含多位元組字元。
; 僅在zend.multibyte = On 時有意義。

zend.signal_check = Off
; 是否在關閉時檢查被替換的訊號處理程序(僅存在於Unix平台)

[Core-ResourceLimits]

memory_limit = 128M
; 腳本所能夠申請到的最大記憶體(位元組)(可以使用K和M作為單位)(必須大於post_max_size 的值)。
; 這有助於防止劣質腳本消耗完伺服器上的所有記憶體。設為-1 表示取消記憶體限制。
; 設定了指令後,memory_get_usage() 函數將變成可用。

[Core-Performance]

realpath_cache_size = 4M
; 指定PHP使用的realpath(規範化的絕對路徑名) 緩衝區大小。
; 緩衝區大小=路徑字串的總長度+快取項目關聯資料。主要快取長路徑時,快取必須更大。
; 此值並不能直接控制快取中的路徑數。在PHP開啟大量檔案的系統上應增大該值以提高效能。
; 注意:開啟open_basedir 之後realpath 快取將會被停用。

realpath_cache_ttl = 120
; realpath 快取有效期限(秒)。對檔案很少變動的系統,可以增加該值以提高效能。

[Core-DataHandling]

arg_separator.output = "&"
; PHP輸出的URL中用來分隔參數的分隔符號。
; 另外還可以設為"&"或","或";"等等。

arg_separator.input = "&"
; PHP解析URL中的變數時使用的分隔符號清單。字串中的每一個字元都會被當作分割符。
; 另外還可以設為";,&"等等。

variables_order = "EGPCS"
; 註冊哪些超全域數組。分別以E, G, P, C, S 表示$_ENV, $_GET, $_POST, $_COOKIE, $_SERVER 。
; 因為註冊這些陣列會帶來效能損失,且$_ENV 也不常用,所以不建議註冊$_ENV 。
; [提示]在FastCGI模式下$_SERVER 中始終包含有環境變數(也就是S 永遠相當於ES )。
; 建議設為"GPCS",並使用getenv() 存取環境變數。

request_order =
; 如何將G, P, C 超全域數組中的元素註冊到$_REQUEST 超全域數組。
; 此設定不但決定了註冊G, P, C 中的哪幾個,還決定了註冊時的覆蓋順序(後值會覆蓋前值)。
; [注意]設為空表示繼承variables_order 的值,而不是讓$_REQUEST 為空。建議設為"GP"。

auto_globals_jit = On
; 是否僅在實際使用到$_ENV, $_REQUEST, $_SERVER 變數時才建立(而不是在腳本一啟動時就自動建立)。
; 若未在腳本中使用這些數組,開啟該指令將會獲得效能上的提升。

register_argc_argv = On
; 是否註冊$argv 與$argc 全域變數(可能包含GET方法的資訊)。
; $argv 陣列包含所有傳遞給腳本的參數。 $argc 變數保存了參數的個數。
; 建議並關掉該指令以提高效能。
; [提示]對於CLI 模式,此指令被硬編碼為On

enable_post_data_reading = On
; 是否允許讀取POST 資料。設為Off 之後$_POST 與$_FILES 將永遠為空。
; 唯一的辦法是透過php://input 流包裝器來取得POST資料。
; Off 僅適用於代理請求或以記憶體高效的方式處理POST資料。

post_max_size = 8M
; 允許接受的最大POST資料長度(位元組)("0"表示無限)。僅在enable_post_data_reading = On 時有意義。
; 此設定也會影響到檔案上傳(必須大於upload_max_filesize 的值),如果POST資料超出限制,那麼$_POST 和$_FILES 將會為空。
; 如果啟用了記憶體限制,那麼該值應小於memory_limit 的值。

auto_prepend_file =
auto_append_file =
; 自動在PHP腳本之前/之後插入的檔案名稱。設為空表示以停用該特性。
; 指定的檔案就像被include() 函數包含進來一樣,因此會使用include_path 指令的值。
; 注意:如果腳本透過exit() 終止,那麼自動後綴將不會發生。

default_mimetype = "text/html"
default_charset = "UTF-8"
; 設定HTTP頭"Content-Type:" 的預設值。都設為空表示不輸出"Content-Type:"頭。
; 預設值表示輸出"Content-Type: text/html; charset=UTF-8"。
; 反對將default_charset 設為空。

input_encoding =
; PHP輸入使用的字元編碼。設為空表示使用default_charset 的值。

output_encoding =
; PHP輸出所使用的字元編碼。設為空表示使用default_charset 的值。

internal_encoding =
; PHP內部使用的字元編碼。設為空表示使用default_charset 的值。

[Core-Paths]

include_path = ".;/path/to/php/pear"
; 指定一組目錄用於require(), include(), fopen(), file(), readfile(), file_get_contents() ... 等函數定位檔。
; 格式和系統的PATH環境變數類似(UNIX下用冒號分隔,Windows下用分號分隔):
; UNIX: "/path1:/path2"
; Windows: "\path1;\path2"
; 直接使用'./path/to/file'方式表示相對於目前目錄的檔案是一種效率更高的方式(不建議在此指令中使用'.')。
; 更進一步,將此指令設為空有助於提高在檔案系統上定位檔案的效能。
; 可以使用set_include_path() 在執行時修改此指令的值。

open_basedir =
; 將PHP允許操作的所有檔案都限制在此群組目錄清單下以提升安全性(設為空表示允許開啟所有檔案)。
; 當腳本試圖開啟指定目錄樹以外的檔案時,將遭到拒絕。
; 所有的符號連接都會被解析,所以不可能透過符號連接來避開此限制。
; 特殊值'.'表示存放該腳本的目錄將被當作基準目錄,但這樣做很不安全(腳本可以用chdir()更改工作目錄)。
; 對於共用伺服器,在httpd.conf 中針對不同的虛擬主機或目錄靈活設定該指令將變得非常有用。
; 作為Apache模組時,父目錄中的open_basedir 路徑將自動被繼承。
; 在Windows中以分號分隔目錄,UNIX系統中以冒號分隔目錄,建議使用PATH_SEPARATOR 常數來寫可移植程式碼。
; 注意:開啟此特性之後realpath 快取將會被停用。

doc_root =
; PHP的"CGI根目錄"。僅在非空時有效。
; 在web伺服器的主文檔目錄(例如"htdocs")中放置可執行程式/腳本被認為是不安全的,
; 例如因為配置錯誤而將腳本作為普通的html顯示。
; 因此很多系統管理員都會在主文檔目錄之外專門設定一個只能透過CGI來存取的目錄,
; 該目錄中的內容只會被解析而不會以原樣顯示。
; 如果設定了這個指令,那麼PHP就只會解釋doc_root 目錄下的文件,
; 並確保目錄外的腳本都不會被PHP解釋器執行( user_dir 除外)。
; 如果編譯PHP時沒有指定FORCE_REDIRECT ,那麼就必須設定此指令。
; 如果在非IIS伺服器上以CGI方式運行,請務必閱讀手冊中的安全部分。
; 確保安全的替代方案是使用cgi.force_redirect 指令。

user_dir =
; 告訴php在使用/~username 開啟腳本時到哪個目錄下去找,只在非空時有效。
; 也就是在使用者目錄之下使用PHP檔案的基本目錄名,例如:"public_php"

user_ini.cache_ttl = 300
; 重新讀取.user.ini 檔案的間隔秒數( .user.ini 檔案的存活期)。

user_ini.filename = ".user.ini"
; 基於每個目錄的使用者自訂php.ini 檔案的名稱(僅支援CGI/FastCGI 模式)。設為空表示關閉此功能。
; 開啟此功能之後,除了主php.ini 之外,還會從被執行的PHP 腳本所在目錄開始,一直向上掃描到web 根目錄。
; 如果被執行的PHP 腳本在web 根目錄之外,那麼只掃描該PHP 腳本所在的目錄。
; 僅允許在.user.ini 檔案中使用PHP_INI_PERDIR 和PHP_INI_USER 類型的指令。
; 開啟此功能會讓PECL 的htscanner 擴充作廢。

extension_dir = "/path/to/phpext"
; 存放擴充庫(模組)的目錄,也就是PHP用來尋找動態擴充模組的目錄。
; Windows下預設為"C:\php\ext"
; Unix下的預設值取決於編譯時的配置。

sys_temp_dir = "/path/to/tmp"
; 存放暫存檔案的暫存目錄。預設為系統的暫存目錄(參見sys_get_temp_dir() 函數)

;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行程可寫的目錄)。設為空表示使用系統預設的暫存目錄。
; 若指定的目錄不可寫,將會自動使用系統預設的暫存目錄。
; 如果設定了open_basedir ,那麼其中必須包含系統預設的暫存目錄,否則上傳功能將無法使用。

upload_max_filesize = 2M
; 允許上傳的檔案最大尺寸(必須小於post_max_size 的值)。

max_file_uploads = 20
; 一次HTTP請求允許同時上傳的最大檔案數量。

[Core-Windows]

windows.show_crt_warning = Off
; 是否顯示C運行時的警告訊息(僅存在於Windows平台)

;;;;;;;;;;;;;;;;;;;;;
;; 核心擴充;;
;;;;;;;;;;;;;;;;;;;;;

[DateTime]
; 前四個設定選項目前僅用於date_sunrise() 和date_sunset() 函數。

date.default_latitude = 31.7667
; 預設緯度
date.default_longitude = 35.2333
; 預設經度
date.sunrise_zenith = 90.833333
; 預設日出天頂
date.sunset_zenith = 90.833333
; 預設日落天頂

date.timezone =
; 未設定TZ環境變數時用於所有日期和時間函數的預設時區。
; 中國大陸應使用"PRC"或"Asia/Shanghai"
; 應用時區的優先順序為:
; 1. 用date_default_timezone_set() 函數設定的時區(如果設定了的話)
; 2. TZ 環境變數(如果非空的話)
; 3. 該指令的值(如果設定了的話)
; 4. PHP自己推測(如果作業系統支援)
; 5. 如果以上都不成功,則使用"UTC"

[ErrorHandling]

error_reporting = E_ALL
; 錯誤報告應該包含的內容(位元欄位的疊加):
; 1 E_ERROR 致命的運行時錯誤
; 2 E_WARNING 運行時警告(非致命性錯誤)
; 4 E_PARSE 編譯時解析錯誤
; 8 E_NOTICE 運行時提醒(經常是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 使用者自訂的提醒(經常是bug,也可能是有意的)
; 2048 E_STRICT 編碼標準化警告(建議如何修改以向前相容)
; 4096 E_RECOVERABLE_ERROR 接近致命的運行時錯誤,若未被捕獲則視同E_ERROR
; 8192 E_DEPRECATED 對在未來版本中可能無法正常運作的程式碼給予警告
; 16384 E_USER_DEPRECATED 使用者自訂的警告(對未來版本可能無法正常運作的程式碼給予警告)
; 32767 E_ALL 上述所有錯誤與警告
; [注意]不能在php.ini 之外使用這些常數(必須使用數值)。
; 開發環境可設為2147483647(所有二進位位元全為1) 開啟現在或將來可能出現的各種錯誤與警告。
; 在生產伺服器上建議設為E_ALL & ~E_DEPRECATED & ~E_STRICT 以避免過多的效能損失。
; 若想進一步提升效能,可考慮設為E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (只包含錯誤)

display_errors = On
; 是否將錯誤訊息顯示為輸出的一部分。
; 在最終發布的web站點上,強烈建議你關掉這個特性,並使用錯誤日誌代替。
; 在最終發布的web站點打開這個特性可能會暴露一些敏感資訊。
; 特殊值STDOUT 與STDERR 僅可用於CGI/CLI 模式(CLI模式預設值=STDOUT)。

display_startup_errors = On
; 是否顯示PHP啟動時的錯誤(PHP7預設值=Off)。
; 即使display_errors = On ,關閉此參數也不顯示PHP啟動時的錯誤。
; 在生產伺服器上建議關掉這個特性以避免洩漏敏感的設定資訊。

log_errors = Off
; 是否將錯誤訊息記錄到error_log 指定的目標。
; 強烈建議你在生產環境使用日誌記錄錯誤而不是直接輸出,
; 這樣可以讓你既知道那裡出了問題,又不會暴露敏感資訊。
; FPM/FastCGI 模式的預設值=On

log_errors_max_len = 1024
; 允許記錄錯誤訊息的最大位元組長度。設為0 可以允許無限長度。

ignore_repeated_errors = Off
; 是否忽略重複的錯誤訊息。
; 錯誤訊息必須出現在同一腳本的同一行才被視為重複(除非ignore_repeated_source = On)。

ignore_repeated_source = Off
; 當ignore_repeated_errors = On 時,是否忽略錯誤訊息的來源(忽略來自不同程式碼的相同錯誤訊息)。

report_memleaks = On
; 是否報告內存洩漏。這個參數只在以偵錯方式編譯的PHP中起作用,
; 且必須在error_reporting 指令中包含E_WARNING

report_zend_debug = Off
; 尚無說明文件(PHP7 的Apache/FPM/FastCGI 模式預設值=On)

html_errors = On
; 是否在出錯訊息中使用HTML標記。
; 在需要記錄錯誤日誌的時候不要使用這個特性!
; [提示]對於CLI 模式,此指令被硬編碼為Off

xmlrpc_errors = Off
; 是否將錯誤報告的格式設定為XML-RPC錯誤訊息的格式(關閉正常的錯誤報告)。

xmlrpc_error_number = 0
; XML-RPC faultCode 元素的值(僅在xmlrpc_errors = On 時有意義)。

docref_root = ;"https://www.php.net/manual/zh/"
docref_ext = ;".php"
; 如果html_errors = On 並且設定了docref_root ,那麼PHP將會在出錯訊息上顯示超連接。
; 直接連結到一個說明這個錯誤或導致這個錯誤的函數的頁面。
; 你可以下載php手冊之後,將docref_root 指令指向你本地的手冊所在的URL目錄。
; 你也必須設定docref_ext 指令來指定檔案的副檔名(必須含有'.')。
; [注意]不要在生產伺服器上使用這個特性。

error_prepend_string = ;""
error_append_string = ;"
"
; 附加在錯誤訊息前後的字串(一般用於添加顏色)

error_log =
; 設定記錄錯誤日誌的目標。如果是一個檔案(建議做法),那麼就必須擁有寫入權限。
; 設為syslog 表示記錄到系統日誌中(NT下的事件日誌, Unix下的syslog(3))
; 設為空表示:Apache錯誤日誌(apache2handler)、標準錯誤(CLI)、不記錄(FPM)。
; FPM/FastCGI 模式的預設值="/var/log/php-fpm/www-error.log"(RHEL/CentOS)

syslog.facility = LOG_USER
; 系統日誌中的facility 欄位值(產生日誌的子系統)。
; 僅在error_log = syslog 時有意義。

syslog.filter = no-ctrl
; 過濾(轉義為"\x???")日誌訊息中的哪些不安全字元:
; ascii (僅允許ASCII 字元與NL 字元)
; no-ctrl (允許所有非控製字元)
; all (允許所有字元)
; raw (允許所有字符,但不在換行符處分割日誌訊息)
; 僅在error_log = syslog 時有意義。

syslog.ident = php
; 系統日誌中的ident 欄位值(日誌訊息前綴[識別字串])。
; 僅在error_log = syslog 時有意義。

[FileStream]

allow_url_fopen = On
; 是否允許將URL(例如http:// 或 ftp://)當作文件使用。

allow_url_include = Off
; 是否允許include/require URL(例如http:// 或 ftp://)。

user_agent =
; PHP存取URL時使用的"User-Agent"字串

default_socket_timeout = 60
; socket 流的預設超時秒數

from =
; 定義匿名ftp的密碼(一個email地址)

auto_detect_line_endings = Off
; 是否讓PHP自動偵測行結束符(EOL)。
; 如果的你腳本必須處理Macintosh文件,或是你運行在Macintosh上,同時又要處理unix或win32文件,
; 開啟這個指令可以讓PHP自動偵測EOL,以便fgets() 和file() 函數可以正常運作。
; 但同時也會導致在Unix系統下使用回車符(CR)作為項目分隔符號的人遭遇不相容行為。
; 另外,在偵測第一行的EOL習慣時會有很小的效能損失。

[Filter]
;extension=filter
; 對來源不可靠的資料進行確認和過濾。

filter.default = unsafe_raw
; 使用指定的過濾器過濾$_GET, $_POST, $_COOKIE, $_REQUEST, $_SERVER 資料( unsafe_raw 表示不做任何過濾)。
; 原始資料可以透過filter_input() 函數存取。

filter.default_flags =
; 預設的過濾標誌。

[OptionsInfo]

assert.active = On
; 是否啟用assert() 斷言評估。

assert.bail = Off
; 是否在發生失敗斷言時中止腳本的執行

assert.warning = On
; 是否為每個失敗斷言都發出警告

assert.callback =
; 發生失敗斷言時執行的回呼函數

assert.exception = On
; 是否在斷言失敗時拋出AssertionError 異常
; PHP7的預設值=Off

enable_dl = On
; 是否允許使用dl()函數。 dl()函數僅在將PHP作為apache模組安裝時才有效。
; 停用dl()函數主要是出於安全考慮,因為它可以繞過open_basedir 指令的限制。
; 這個特性將來一定會被移除。強烈建議設為Off 。

max_execution_time = 30
; 每個腳本允許的最大執行時間(秒),0 表示沒有限制。
; 這個參數有助於阻止劣質腳本無休止的佔用伺服器資源。
; 該指令僅影響腳本本身的運行時間,任何其它花費在腳本運行之外的時間,
; 例如system()/sleep()函數、資料庫查詢、檔案上傳等,都不包含在內。
; [提示]對於CLI 模式,此指令被硬編碼為"0"(沒有限制)
; [提示]不要將此指令設定為大於Apache 的Timeout 指令(可能提前中斷PHP 的執行)。

max_input_time = -1
; 每個腳本接收輸入資料(POST, GET, upload)的最大允許時間(秒)。
; -1 表示不限制。在生產伺服器上應該限制為一個明確的值以阻止腳本無限運行。
; 如果使用者的網路速度較慢且需要上傳大文件,那麼應該設定一個較大的數值。
; [提示]對於CLI 模式,此指令被硬編碼為"-1"(沒有限制)

max_input_nesting_level = 64
; 輸入變數($_GET, $_POST, $_COOKIE ...)的最大巢狀深度

max_input_vars = 1000
; 輸入變數($_GET, $_POST, $_COOKIE ...)的最大總成員數。
; 此指令減輕了以哈希碰撞來進行拒絕服務攻擊的可能性
; 超過限定數量的輸入變數將會被截斷,並導致E_WARNING 產生。

zend.enable_gc = On
; 是否開啟循環參考記數蒐集器(垃圾回收)。關閉此指令可能會導致記憶體洩漏。

[Mail]

mail.add_x_header = Off
; 是否新增X-PHP-Originating-Script: 郵件頭,以包含"腳本UID + 檔案名稱"訊息

mail.force_extra_parameters =
; 強制指定mail() 函數的第5個參數。

mail.log =
; 如何記錄對mail() 函數的呼叫。設為空表示不記錄。
; 可以設為一個文件路徑表示記錄到文件,也可以設為syslog 表示記錄到系統日誌。

SMTP = "localhost"
; mail() 函數中用來傳送郵件的SMTP伺服器的主機名稱或IP位址(僅用於Windows)。

smtp_port = 25
; SMTP伺服器的連接埠號碼(僅用於Windows)。

sendmail_from =
; 發送郵件時使用的"From:"頭中的郵件地址(僅用於win32)。
; 該選項也同時設定了"Return-Path:"頭。

sendmail_path = /path/to/sendmail
; sendmail 程式的路徑(包括命令列參數)。
; configure 腳本會嘗試找到程式並設定為預設值(通常是"/usr/sbin/sendmail -t -i"),但是如果失敗的話,可以在這裡手動設定。
; 不使用sendmail 的系統應將此指令設定為sendmail 替代程式(如果有的話)。
; 此指令在Windows 平台上的預設值為空。
; 如果在Windows 平台上設定了此指令,那麼smtp smtp_port sendmail_from 指令都會被忽略並執行此處指定的指令。

[Misc]

ignore_user_abort = Off
; 是否即使在使用者中止請求後也堅持完成整個請求。
; 建議設為On ,因為長請求可能會導致使用者中途中止或瀏覽器逾時。

highlight.comment = "#FF8000"
highlight.default = "#0000BB"
highlight.html = "#000000"
highlight.keyword = "#007700"
highlight.string = "#DD0000"
; 語法高亮模式的色彩(通常用於顯示.phps 檔案)。
; 只要能被 接受,就能正常工作。

browscap = ;"c:/windows/system32/inetsrv/browscap.ini"
; 瀏覽器功能檔案的位置和檔案名稱(只有PWS和IIS才需要這個設定)。

[OutputControl]

output_buffering = 0
; 輸出緩衝區大小(位元組)。建議值為4096[也可以透過ob_start() 函數控制]。
; 輸出緩衝允許你甚至在輸出正文內容之後再發送HTTP頭(包括cookies)。
; 設定輸出緩衝有時可以減少網路封包的傳送(提升網路效能)。
; 這個參數的實際收益很大程度上取決於你使用的是什麼Web伺服器以及什麼樣的腳本。
; [提示]對於CLI 模式,此指令被硬編碼為"0"(禁用輸出緩衝)

output_handler =
; 將所有腳本的輸出重定向到一個輸出處理函數。
; 例如,當設為"mb_output_handler"重定向到mb_output_handler() 函數時,字元編碼將被透明地轉換為指定的編碼。
; 一旦在這裡指定了輸出處理程序,輸出緩衝將被自動打開(緩衝區大小=無限)。
; 注意0: 此處僅能使用PHP內建函數,自訂函數應在腳本中使用ob_start() 函數指定。
; 注意1: 可移植腳本不能依賴指令,而應使用ob_start() 函數明確指定輸出處理函數。
; 不要輕易使用這個指令,否則可能會導致某些你不熟悉的腳本出錯。
; 注意2: 不能同時使用"mb_output_handler"和"ob_iconv_handler"兩個輸出處理函數。
; 不能同時使用"ob_gzhandler"輸出處理函數和"zlib.output_compression"指令。
; 注意3: 如果"zlib.output_compression = On",那麼指令必須為空(代之以"zlib.output_handler")。

implicit_flush = Off
; 是否要求PHP輸出層在每個輸出區塊之後自動刷寫資料。
; 這等效於在每個print()、echo()、HTML區塊之後自動呼叫flush() 函數。
; 開啟這個選項對程式執行的效能有嚴重影響,只建議在偵錯時使用。
; [提示]對於CLI 模式,此指令被硬編碼為"On"(強制自動刷寫)

[PCRE]

pcre.backtrack_limit = 1000000
; 最大回溯(backtracking)深度。

pcre.recursion_limit = 100000
; 最大遞歸(recursion)深度。如果你將該值設的非常高,將可能耗盡進程的堆疊空間,導致PHP崩潰。

pcre.jit = 1
; 是否開啟PCRE函式庫的JIT(just-in-time) 編譯。

[Phar]
;extension=phar
; 將PHP應用程式/類別庫打包以簡化部署(以唯讀方式供他人使用)

phar.readonly = On
; 是否開啟Phar 只讀模式。務必在生產環境開啟此指令,否則會留下巨大的安全漏洞。

phar.require_hash = On
; 是否驗證所有Phar 歸檔的簽章(防止歸檔內容被竄改)。建議開啟以增強安全性。

phar.cache_list =
; 要在伺服器啟動階段預先解析的Phar 歸檔清單(用於提升效能)。

[Session]

session.save_handler = files
; 儲存和擷取會話資料的儲存處理器名字。預設為檔案("files")。
; 設為"user"表示可以使用session_set_save_handler() 註冊自訂的儲存處理器。
; 擴充模組可以註冊新的儲存處理器。所有已註冊的儲存處理器都可以透過phpinfo() 查看。

session.save_path =
; 傳遞給save_handler 的參數。對於files 處理器表示儲存會話資料檔案的目錄(預設為系統暫存目錄)。
; 可以使用"N;[MODE;]/path"模式定義該目錄,可選的[MODE;]為8進位數表示的資料檔案存取權限(預設為"600"),
; 整數N表示使用N層深度的子目錄(而不是將所有資料檔案都保存在同一個目錄下),以提高大量會話的效能。
; 注意: (1)"N;[MODE;]/path"兩邊的雙引號不能省略(因為";"是註解符號)。 (2)[MODE;]並不會改寫進程的umask。
; (3)PHP不會自動建立這些目錄結構(可使用ext/session 目錄下的mod_files.sh 腳本)。
; (4)如果該目錄(例如"/tmp")可以被不安全的使用者讀取或檢索,那麼將會帶來安全漏洞(洩漏會話ID甚至會話資料)。
; (5)當N>0時自動垃圾回收將會失效(詳見session.gc_* 指令)。
; (6)僅在確實擁有海量會話時才可能需要設定N>2(每一層有64個子目錄,N=3表示要建立64*64*64個子目錄)。
; (7)建議針對每個不同的虛擬主機分別設定各自不同的會話儲存目錄。
; FPM/FastCGI 模式的預設值="/var/lib/php/session"(RHEL/CentOS)

session.name = PHPSESSID
; 用在cookie裡的會話ID識別名,只能包含字母和數字。

session.auto_start = Off
; 是否在客戶造訪任何頁面時都自動初始化會話引擎。
; 因為類別定義必須在會話啟動之前被載入,所以開啟這個選項之後就不能在會話中存放物件了。

session.serialize_handler = php
; 用來序列化/解序列化資料的處理器,可以使用"php","php_binary","php_serialize"。
; 推薦使用新式的"php_serialize"代替預設的老式"php"以避免某些限制和缺陷。
; [注意]一旦啟用了WDDX支持,將只能使用"wddx"。

session.gc_probability = 1
session.gc_divisor = 100
; 定義在每次初始化會話時,啟動垃圾回收程序的機率。
; 這個收集機率計算公式如下:session.gc_probability/session.gc_divisor
; 對會話頁面存取越頻繁,機率就應當越小。建議設為1/(1000~5000)。

session.gc_maxlifetime = 1440
; 超過此指令所指的秒數後,保存的資料將被視為'垃圾'並由垃圾回收程序清理。
; 判斷標準是最後存取資料的時間(對於FAT檔案系統是最後刷新資料的時間)。
; 如果多個腳本共用同一個session.save_path 目錄但session.gc_maxlifetime 不同,
; 那麼將以所有session.gc_maxlifetime 指令中的最小值為準。
; 如果使用多層子目錄來儲存資料文件,垃圾回收程式不會自動啟動。
; 你必須使用一個你自己寫的腳本、cron項目或其他辦法來執行垃圾蒐集。
; 例如,下面的腳本相當於設定了"session.gc_maxlifetime=1440" (24分鐘):
; cd /path/to/sessions; find -cmin +24 | xargs rm

session.referer_check =
; 如果請求頭中的"Referer:"欄位不包含此處指定的字串則會話ID將被視為無效。
; 注意:如果請求頭中根本不存在"Referer:"欄位的話,會話ID將仍將被視為有效。
; 預設為空,即不做檢查(全部視為有效)。

session.use_strict_mode = 0
; 是否使用嚴格會話ID模式(拒絕未初始化的會話ID)。開啟嚴格模式可以保護伺服器免於會話固定攻擊。
; "嚴格模式"的意思是:如果瀏覽器發送了一個未初始化的會話ID,那麼伺服器將會回應一個新的已初始化的會話ID。
; 預設值"0"表示停用嚴格模式。建議設為"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"表示僅在瀏覽器開啟期間有效。
; [提示]如果你不能保證伺服器時間和客戶端時間嚴格一致請不要改變此預設值!

session.cookie_path = /
; 傳遞會話ID的Cookie作用路徑。

session.cookie_domain =
; 傳遞會話ID的Cookie的作用域(域名)。
; 預設值空表示根據cookie規格產生的主機名稱。

session.cookie_secure = 0
; 是否僅透過安全連線(https)傳送cookie("1"表示啟用、"0"表示停用)。

session.cookie_httponly = 0
; 是否在cookie中新增httpOnly標誌(僅允許HTTP協定存取)("1"表示啟用、"0"表示停用)。
; 啟用此特性將導致用戶端腳本(JavaScript等)無法存取該cookie。
; 開啟該指令可以有效預防透過XSS攻擊劫持會話ID。

session.cookie_samesite =
; 在cookie中新增SameSite屬性的值("Strict", "Lax", "None" 之一[務必保留引號]),
; 允許伺服器向客戶端聲明不應將此cookie用於跨站請求,這有助於預防跨站請求偽造(Cross-Site Request Forgery)。
; 並不是所有瀏覽器都支援此特性。設為空表示不隨cookie一起傳送SameSite屬性。
; "Strict"表示同時禁止POST 與GET 跨站發送cookie
; "Lax"表示禁止POST 跨站發送cookie 、但允許GET 跨站發送cookie
; 詳見 https://tools.ietf.org/html/draft-west-first-party-cookies-07

session.cache_limiter = nocache
; 指定會話頁面的快取控制策略(nocache|private|private_no_expire|public)。
; nocache 表示禁止客戶端與代理伺服器快取; public 表示允許客戶端與代理伺服器快取;
; private 表示允許客戶端快取但禁止代理伺服器快取;
; private_no_expire 與private 相同,但不發送"Expire:" 回應頭(解決Mozilla 等瀏覽器可能無法正確處理Expire 回應頭的BUG)。
; 設為空表示不會傳送任何與快取策略相關的回應頭。詳見session_cache_limiter() 函數。

session.cache_expire = 180
; 指定會話頁面在客戶端快取中的有效期限(分鐘)。當session.cache_limiter = nocache 時,此設定無意義。

session.use_trans_sid = 0
; 是否使用明碼在URL中顯示SID(會話ID)("1"表示啟用、"0"表示停用)。
; 基於URL的會話管理總是比基於Cookie的會話管理有更多的風險,應停用。

session.trans_sid_tags = "a=href,area=href,frame=src,form="
; 指定重寫哪些HTML標籤來包含SID(僅在session.use_trans_sid = On 時有意義)。
;

標籤比較特殊,如果你包含它,URL重寫器將會添加一個隱藏的 字段,
; 它包含了本應額外追加到URL上的資訊()。
; 標籤的action 屬性中的URL不會被修改(除非明確指定了action 屬性)。
; 注意:所有合法的項都需要一個等號(即使後面沒有值)。

session.trans_sid_hosts =
; 預設不重寫絕對URL,必須在執行時使用ini_set() 指定目標網域才可以重寫絕對URL。
; 標籤較特殊,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中每個字元容納幾個哈希位(數字越大越安全)。取值範圍:
; 4 (4 bits: 0-9, af)
; 5 (5 bits: 0-9, av)(建議值)
; 6 (6 bits: 0-9, az, AZ, "-", ",")

url_rewriter.tags = "form="
; 即時URL重寫(需要開啟output_buffering 支援)的目標標籤。
; [注意]此指令的session 功能已經被session.trans_sid_tags 指令取代。

url_rewriter.hosts =
; 即時URL重寫(需要開啟output_buffering 支援)的目標主機。
; 雖然此指令屬於PHP核心部分,但卻用於Session模組的配置。
; 詳見session.trans_sid_hosts 指令。

session.upload_progress.enabled = On
; 是否利用$_SESSION 陣列追蹤上傳進度。

session.upload_progress.cleanup = On
; 是否在讀取完成全部POST資料之後(上傳完成之後)立即清除上傳進度資訊。
; 強烈建議保持預設值On

session.upload_progress.prefix = upload_progress_
; 在$_SESSION 數組中用於追蹤上傳進度的鍵名稱前綴。
; 此前綴將會和$_POST[ini_get("session.upload_progress.name")] 拼接在一起組成鍵名稱。

session.upload_progress.name = PHP_SESSION_UPLOAD_PROGRESS
; 在$_SESSION 數組中用於追蹤上傳進度的鍵名稱後綴。
; 如果$_POST[ini_get("session.upload_progress.name")] 不存在,那麼將不會追蹤上傳進度。

session.upload_progress.freq = "1%"
; 以什麼樣的步長更新上傳進度,可以設為百分比或位元組數。

session.upload_progress.min_freq = 1
; 更新上傳進度的最小時間間隔(秒)。

session.lazy_write = On
; 是否僅在會話資料變更時才向磁碟寫入會話資料。

[Tokenizer]
;extension=tokenizer
; PHP原始碼語法解析器

[Variable]

unserialize_callback_func =
; 如果解序列化處理器需要實例化一個未定義的類,
; 指定的回呼函數將以該未定義類別的名字作為參數被unserialize() 調用,
; 以免得到不完整的"__PHP_Incomplete_Class"物件。
; 如果沒有指定回呼函數,或指定的回呼函數不包含(或實作)那個未定義的類,將會顯示警告訊息。
; 所以只有在確實需要實作這樣的回呼函數時才設定該指令。
; 若要禁止這個特性,只要置空即可。

unserialize_max_depth = 4096
; 未序列化結構的預設最大深度限制。設定得太深可能會導致在解序列化期間堆疊溢位。
; 設為0 表示沒有深度限制。此設定可以在呼叫unserialize() 時被max_depth 參數覆蓋。

;;;;;;;;;;;;;;;;;;;;;
;; 綁定擴充;;
;;;;;;;;;;;;;;;;;;;;;

;extension=bcmath
; 任意精度數學計算

;extension=calendar
; 在不同曆法間進行轉換

;extension=ctype
; 高效率偵測字串是否僅包含指定類型的字符

;extension=mbstring
; 處理多位元組字串

;extension=exif
; 讀取圖片檔案中的元數據
; exif 模組依賴mbstring 模組,必須在mbstring 模組之後載入。

;extension=fileinfo
; 猜測文件的內容類型及編碼

;extension=ftp
; FTP客戶端

;extension=iconv
; 字符集轉換

;extension=gd
; 影像處理

;extension=intl
; 國際化與在地化

;extension=shmop
; 操作Unix 共享內存

;extension=sockets
; 網路套接字

;extension=sqlite3
; SQLite v3 資料庫

;extension=zlib
; gzip 壓縮與解壓縮

;zend_extension=opcache
; 將預先編譯的字節碼儲存到共享記憶體中來提升效能(省去每次載入和解析PHP腳本的開銷)

[BCMath]

bcmath.scale = 0
; 用於所有bcmath函數的預設scale 參數的值(小數點後的小數保留位數)。

[Exif]

exif.encode_unicode = ISO-8859-15
; 編碼UNICODE使用者註解所使用的字元編碼。預設值ISO-8859-15 僅可用於大多數非亞洲國家。
; 在開啟了mbstring 模組的情況下,可以設為一個mbstring 支援的字元編碼,
; 也可以設為空表示使用mbstring.internal_encoding 指令的值。

exif.decode_unicode_intel = UCS-2LE
exif.decode_unicode_motorola = UCS-2BE
; 分別依小端序(intel)/大端序(motorola)設定解碼UNICODE使用者註解所使用的字元編碼。
; 在開啟了mbstring 模組的情況下,可以設為一個mbstring 支援的字元編碼清單。不能設定為空。

exif.encode_jis =
; 編碼JIS使用者註解所使用的字元編碼。
; 預設為空,表示使用mbstring.internal_encoding 指令的值。

exif.decode_jis_intel = JIS
exif.decode_jis_motorola = JIS
; 分別依小端序(intel)/大端序(motorola)設定解碼JIS使用者註解所使用的字元編碼。
; 在開啟了mbstring 模組的情況下,可以設為一個mbstring 支援的字元編碼清單。不能設定為空。

[iconv]

iconv.input_encoding =
; 反對使用該指令(已在PHP 5.6.0 中廢棄)(應使用input_encoding 指令)

iconv.output_encoding =
; 反對使用該指令(已在PHP 5.6.0 中廢棄)(應使用output_encoding 指令)

iconv.internal_encoding =
; 反對使用該指令(已在PHP 5.6.0 中廢棄)(應使用internal_encoding 指令)

[GD]

gd.jpeg_ignore_warning = 1
; 是否忽略jpeg解碼器的警告訊息(例如無法辨識圖片格式)("1"表示啟用、"0"表示停用)。

[intl]

intl.default_locale =
; intl 函數(方法)的預設ICU locale 值(不是作業系統的locale)。
; 預設值為空,表示使用ICU 的預設locale 值。
; 因為一旦在php.ini 中設定了此指令,就不能再重設為預設值,所以建議保持預設的空值,不要去明確設定它。

intl.error_level = 0
; intl 函數(方法)的錯誤訊息等級。取值範圍和error_reporting 指令一致(例如E_WARNING)。
; 預設值0 表示禁止一切錯誤訊息。此指令不會影響intl 函數的回傳值。
; 選取E_ERROR 將會導致在intl 函數(方法)出錯時中止整個腳本的執行。

intl.use_exceptions = Off
; 是否在intl 函數(方法)出錯時拋出IntlException 例外。
; 此功能可以和intl.error_level 同時共存。

[mbstring]

mbstring.language = neutral
; 預設的NLS(本地語言設定),預設值"neutral"(UTF-8)表示中立,相當於Unicode(包含全部語言)。
; 建議不要修改此設定(除非不想將UTF-8用作內部編碼)。
; 該指令必須放置在mbstring.internal_encoding 指令之前。

mbstring.encoding_translation = Off
; 是否對進入的HTTP請求進行透明的編碼轉換,
; 也就是自動偵測輸入字元的編碼並將其透明的轉換為內部編碼(default_charset)。
; 可移植的函式庫或程式千萬不要依賴自動編碼轉換。

mbstring.http_input =
mbstring.http_output =
mbstring.internal_encoding =
; 反對使用這些指令(已在PHP 5.6.0 中廢棄)(應使用default_charset 指令)

mbstring.detect_order =
; 字元編碼的預設偵測順序,接受一個逗號分隔的字元編碼清單。
; 預設值取決於mbstring.language 指令的值(多數是以"ASCII,UTF-8"開頭的列表)。
; 設為"pass"表示不對字元編碼進行任何轉換。
; 對於簡體中文為主的環境,可設為"ASCII,UTF-8,EUC-CN,CP936,GB18030"。
; 參考mb_detect_order() 函數。

mbstring.substitute_character =
; 為無效編碼的字元定義替代字元。
; 設為一個整數表示替換為該整數對應的Unicode字符,設為空表示直接刪除無效編碼的字符,
; 設為一個字串表示替換為該字串。建議設為9633 (豆腐塊字"□")。

mbstring.http_output_conv_mimetypes = "^(text/|application/xhtml\+xml)"
; 尚無文檔

mbstring.strict_detection = Off
; 是否使用嚴謹的編碼檢測(因為瀏覽器可能以不同於頁面的字元編碼來提交表單)。
; 儘管瀏覽器能夠根據HTML頁面合理猜測字元編碼,但明確設定default_charset 指令效果更佳。
; 參考mb_http_input() 函數(偵測瀏覽器使用的字元編碼)。

mbstring.regex_retry_limit = 1000000
mbstring.regex_stack_limit = 100000
; 尚無文檔

[OPcache]

opcache.enable = On
; 是否啟用操作碼快取。
; 只能透過ini_set() 函數停用此功能,無法透過ini_set() 函數啟用此功能。

opcache.enable_cli = Off
; 是否為CLI版本啟用操作碼快取。僅用於調試目的。

opcache.memory_consumption = 128
; 最大允許OPcache 佔用的共享記憶體數量(以兆位元組為單位[MB])。必須設為一個大於等於8 的整數。

opcache.interned_strings_buffer = 8
; 用於儲存預留字串的記憶體大小(以兆位元組為單位[MB])。必須設為一個正整數。

opcache.max_accelerated_files = 10000
; 允許在OPcache 哈希表中快取的最大檔案數量(取值範圍=200~1000000)。
; 實際取值範圍是在質數集合{223,463,983,1979,3907,7963,16229,32531,65407,130987,262237,524521,1048793}
; 中找到的第一個大於等於設定值的質數,超出此範圍的值將自動修正到允許的範圍內。

opcache.max_wasted_percentage = 5
; 最大允許浪費的記憶體百分比上限(取值範圍=1~50)。一旦達到此上限,將會重置OPcache 。

opcache.use_cwd = On
; On 表示以"腳本檔名+腳本的工作目錄"作為OPcache 哈希表的鍵。
; Off 表示僅以"腳本檔名"作為OPcache 哈希表的鍵。
; 設為On 可以避免同名腳本衝突(比較安全)。
; 設為Off 可以提高OPcache 的效能(可能會導致應用程式崩潰)。

opcache.validate_timestamps = On
; 是否每隔opcache.revalidate_freq 秒檢查一次腳本更新。
; 如果停用此選項,那麼必須使用opcache_reset() 或opcache_invalidate() 函數手動重設OPcache ,
; 或透過重新啟動服務來使檔案系統變更生效。

opcache.revalidate_freq = 2
; 檢查腳本更新的間隔秒數。設為0 表示每次請求都檢查。
; 僅在opcache.validate_timestamps = On 時有意義。

opcache.revalidate_path = Off
; 是否檢查include_path 中的腳本路徑。
; 設為Off 表示重複使用include_path 內的快取檔案(無法找到include_path 以外的同名檔案)。

opcache.save_comments = On
; 是否快取腳本中的註解(捨棄註解可以減少快取佔用)。
; 設為Off 可能會導致某些依賴註解的應用或框架無法正常運作(例如Doctrine, Zend Framework 2, PHPUnit)。

opcache.enable_file_override = Off
; 是否優先使用OPcache 檢查檔案狀態(例如file_exists(), is_file(), is_readable() ...)。
; 設為On 可以提升檢查速度,但在opcache.validate_timestamps = Off 時可能會傳回老舊的過期資料。

opcache.optimization_level = 0x7FFEBFFF
; 控制OPcache 最佳化等級的二進位位元遮罩。

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
; 允許快取的最大檔案尺寸(位元組)。 "0"表示不限。

opcache.consistency_checks = 0
; 每隔多少次請求檢查一次快取校驗和。 "0"表示不檢查。
; 因為對效能有較大影響,所以只應該用於調試目的,切勿用於生產伺服器。

opcache.force_restart_timeout = 180
; OPcache 處於閒置狀態超過多少秒之後將會被重啟(閒置時間過長意味著OPcache 可能有故障)。
; 如果opcache.log_verbosity_level ≥ 2 ,那麼當重啟發生時將會在日誌中記錄一條警告訊息。

opcache.error_log =
; OPcache 錯誤日誌的記錄目標(通常是一個檔案路徑)。
; 設為空等價於"stderr"(通常表示記錄到Web伺服器的錯誤日誌中)。

opcache.log_verbosity_level = 1
; OPcache 日誌等級: (0)致命(1)錯誤(2)警告(3)訊息(4)偵錯

opcache.preferred_memory_model =
; OPcache 首選的記憶體模型。建議設為空(自動選擇)。
; 取值範圍: mmap, shm, posix, win32

opcache.protect_memory = Off
; 是否保護共享記憶體(避免執行腳本時發生非預期的寫入)。僅用於內部調試。

opcache.mmap_base =
; 共享記憶體段的基底位址(僅適用Windows 平台)。所有PHP進程都將共享記憶體映射到相同的位址空間。
; 此指令用於手動修正"Unable to reattach to base address"錯誤。

opcache.restrict_api =
; 僅允許指定路徑下的PHP腳本呼叫OPcache API 函數。設為空表示不做限制。

opcache.file_update_protection = 2
; 禁止快取最近幾秒鐘內(預設2秒)被修改的文件,以避免快取不完整的文件(可能尚未完全落盤)。
; 如果檔案系統本身能夠確保檔案更新是原子操作,那麼可以設為0 以提高站點效能。

opcache.huge_code_pages = Off
; 是否將PHP代碼(文本段)拷貝到大頁(HUGE PAGE)中。
; 使用大頁可以提高效能,但這需要CPU與作業系統核心的支援以及額外的系統配置。

opcache.lockfile_path = /tmp
; 用來儲存共用鎖定檔案的絕對路徑(僅適用Unix 平台)。

opcache.opt_debug_level = 0
; 為了對不同階段的最佳化情況進行調試,轉儲產生的操作碼。 "0"表示不轉儲。
; 設為0x10000 表示輸出最佳化前的操作碼,設為0x20000 表示輸出最佳化後的操作碼。

opcache.file_cache =
; 設定基於磁碟檔案系統的二級快取目錄,設為空表示停用二級快取。
; 啟用二級快取可在共享記憶體已滿、伺服器重新啟動、重置共享記憶體時提高效能。

opcache.file_cache_only = Off
; 是否僅使用基於磁碟檔案系統的二級快取(不使用共享記憶體)。

opcache.file_cache_consistency_checks = On
; 從基於磁碟檔案系統的二級快取中載入腳本時,是否檢查檔案的校驗和。

opcache.file_cache_fallback = On
; 在進程無法附加到共享記憶體的時候,是否嘗試使用基於磁碟檔案系統的二級快取(相當於隱式開啟opcache.file_cache_only )。
; 僅在設定了opcache.file_cache = 的情況下才有意義。
; 注意:(1)僅適用於Windows 平台;(2)停用它可能會導致進程無法啟動。

opcache.validate_permission = Off
; 是否驗證目前使用者對快取檔案的存取權限。

opcache.validate_root = Off
; 是否檢查chroot 環境中的名字衝突。
; 為了防止進程存取到chroot 環境之外的文件,應該在chroot 環境中啟用此選項。

opcache.preload =
; 指定在服務啟動時預先編譯並快取的PHP腳本(可以在腳本中透過include 或opcache_compile_file() 進一步預先載入其他檔案)。
; 所有被包含的函數、類別等實體,在服務啟動時就會被載入和快取(開箱可用)。
; 此特性不支援Windows 平台。

opcache.preload_user =
; 執行預先載入操作的使用者名稱(考慮到安全因素,禁止以root 使用者預先載入程式碼)。
; 這些預先載入的程式碼也只能以此使用者身分執行。

opcache.record_warnings = Off
; On 表示腳本在每次被include 時都會記錄與重播編譯器警告。
; Off 表示腳本只在第一次被快取時才會發出編譯器警告。

opcache.cache_id =
; 為此OPcache 實例指定一個ID值(僅適用於Windows 平台)。
; 所有具有相同OPcache ID 與使用者名稱的PHP進程共用同一個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 擴充的目錄。

sqlite3.defensive = On
; On 表示停用SQL語言中能夠損壞資料庫檔案的功能(禁止直接寫入schema, shadow, sqlite_dbpage 表)。

[Zlib]

zlib.output_compression = 0
; 壓縮腳本輸出結果的壓縮緩衝區大小("0"表示關閉此特性)。
; 當瀏覽器發送"Accept-Encoding: gzip(deflate)"請求頭時,
; "Content-Encoding: gzip(deflate)"和"Vary: Accept-Encoding"頭將加入到應答頭當中。若想得到更好的壓縮效果,
; 應指定一個較大的壓縮緩衝區,同時開啟output_buffering 緩衝區(最佳值應略大於壓縮緩衝區的壓縮結果大小)。
; 如果啟用了zlib輸出壓縮,那麼就必須使用zlib.output_handler 來取代output_handler 指令(後者必須設為空)。

zlib.output_compression_level = -1
; 壓縮級別,可用值為0~9 ,0表示不壓縮,數值越高效果越好,但CPU佔用越多。
; 預設值-1 表示使用zlib內部的預設值(6)。

zlib.output_handler =
; 與zlib.output_compression 指令搭配使用的輸出處理器。
; 可以使用的處理器有"zlib.inflate"(解壓縮)或"zlib.deflate"(壓縮)。
; 若啟用指令則必須將output_handler 指令設為空。

;;;;;;;;;;;;;;;;;;;;;
;; 外部擴充;;
;;;;;;;;;;;;;;;;;;;;;

;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
; 簡單網路管理協定(Simple Network Management Protocol)

;extension=soap
; 簡單物件存取協定(Simple Object Access Protocol)

;extension=xml
; XML 解析器

;extension=xmlreader
;extension=xmlwriter
; XML 讀寫

;extension=zip
; ZIP 壓縮與解壓縮

[cURL]

curl.cainfo =
; CURLOPT_CAINFO 選項的一個預設值。必須是一個絕對路徑。

[IMAP]

imap.enable_insecure_rsh = Off
; 是否啟用rsh/ssh 登入支援。開啟此選項會帶來安全隱憂。

[LDAP]

ldap.max_links = -1
; 每個行程允許開啟的最大連線數。 -1 表示無限。

[MySQLnd]

mysqlnd.collect_statistics = On
; 是否收集各種客戶端統計資料(可用於調校或監視)。
; 可以透過mysqli_get_client_stats(), mysqli_get_connection_stats(), mysqli_get_cache_stats() 存取這些統計資料。
; 也可以在phpinfo() 頁面上查看這些統計資料。
; 是否收集與記憶體用量相關的統計資料由mysqlnd.collect_memory_statistics 指令控制。

mysqlnd.collect_memory_statistics = Off
; 是否收集與記憶體用量相關的客戶端統計資料(可用於調校或監視)。
; 可以透過mysqli_get_client_stats(), mysqli_get_connection_stats(), mysqli_get_cache_stats() 存取這些統計資料。
; 也可以在phpinfo() 頁面上查看這些統計資料。

mysqlnd.debug =
; 此指令僅在以偵錯模式編譯PHP時才有意義。

mysqlnd.log_mask = 0
; 指示記錄哪些SQL查詢。必須是下面這些表示查詢類別的數字總和("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
; 存放結果集的預設記憶體池大小(位元組)。

mysqlnd.net_read_timeout = 86400
; 沒有充分理解的情況下不要修改此指令的預設值。

mysqlnd.net_cmd_buffer_size = 4096
; 為每個連線預先分配的命令緩衝區的大小(位元組)。必須設為一個不小於4096 的值。
; 建議設為較大的值(例如8192 或16384 或32768)以提升效能。

mysqlnd.net_read_buffer_size = 32768
; 為每個連線預先分配的讀取緩衝區的大小(位元組)。必須設為一個不小於32768 的值。
; 建議設為較大的值(例如65536 或131072 或262144)以提升效能。

mysqlnd.sha256_server_public_key =
; 用於SHA-256 認證外掛程式的MySQL 伺服器RSA 公鑰檔案。
; 設定此指令之後,客戶端就可以不需要再設定MySQL 伺服器的RSA 公鑰,
; 否則客戶端必須在執行時使用mysqli_options() 設定MySQL 伺服器的RSA 公鑰。
; 如果用戶端沒有指定任何RSA 公鑰,那麼將直接使用SHA-256 認證外掛程式接收到的伺服器RSA 公鑰(不做有效性驗證)。

mysqlnd.trace_alloc =
; 尚無文檔

mysqlnd.fetch_data_copy = Off
; 是否強制將結果集從內部結果集緩衝區複製到PHP變數中(而不是使用預設的參考和寫入時複製邏輯)。
; 複製結果集(而不是讓PHP變數應用它們)可以儘早釋放先前為PHP變數分配的記憶體(減少記憶體佔用),但會降低運行速度。
; 若使用PDO_MySQL ,切勿開啟此特性。

[MySQLi]

mysqli.allow_local_infile = Off
; 是否允許使用LOAD DATA 語句載入(PHP角度看的)本機檔案。

mysqli.allow_persistent = On
; 是否允許建立持久連接。

mysqli.max_persistent = -1
; 允許建立的最大持久連接數。設為-1 表示無限。

mysqli.max_links = -1
; 允許建立的最大連接數(持久性和非持久性)。設為-1 表示無限。

mysqli.default_port = 3306
; 用於連接MySQL伺服器的預設TCP連接埠號碼($port)。如果沒有在這裡指定預設值,將按如下順序尋找:
; (1) $MYSQL_TCP_PORT 環境變數
; (2) /etc/services 檔案中的mysql-tcp 項(unix)
; (3) 編譯時指定的MYSQL_PORT 常數
; 注意:在Windows 平台上只使用MYSQL_PORT 常數。

mysqli.default_socket = /var/lib/mysql/mysql.sock
; 連接到本機MySQL 伺服器時所使用的預設套接字($socket)。
; 若未指定則使用MySQL 內建的預設值。

mysqli.default_host =
; 連線到MySQL 資料庫時所使用的預設主機名稱($host)。

mysqli.default_user =
; 連接到MySQL 資料庫時使用的預設使用者名稱($username)。

mysqli.default_pw =
; 連接到MySQL 資料庫時使用的預設密碼($passwd)。在設定檔中保存密碼是個壞主意,
; 不但程式可以透過echo get_cfg_var("mysqli.default_pw") 來顯示密碼,
; 而且任何對該設定檔有讀取權限的使用者也能看到密碼。

mysqli.reconnect = Off
; 是否允許在連線遺失時自動重新連線。

mysqli.rollback_on_cached_plink = Off
; On 表示在中斷持久連線時,先回滾此連線上所有已暫停的交易,然後再將此連線放回永久連線池。
; Off 表示只有在重複使用連線或實際關閉連線時才會回滾掛起的交易。
; 因為libmysqlclient 與streams 對MYSQL_OPT_READ_TIMEOUT 有著不同的理解,
; 所以使用者不能透過API呼叫或執行時間配置來設定MYSQL_OPT_READ_TIMEOUT 。

[OpenSSL]

openssl.cafile =
; 本機檔案系統上的CA(憑證授權單位)檔案的路徑,用於校驗對端SSL憑證的有效性。
; 設為空表示使用作業系統的管理的CA憑證。

openssl.capath =
; 保存經過雜湊處理的CA(憑證授權單位)檔案的目錄。
; 僅在openssl.cafile 為空或指定的CA檔案不存在時有意義。
; 設為空表示使用作業系統的管理的CA憑證。

[PostgresSQL]

pgsql.allow_persistent = On
; 是否允許持久連接

pgsql.max_persistent = -1
; 每個行程中允許持有的最大持久連線數。 -1 代表無限制。

pgsql.max_links = -1
; 每個程序允許持有的最大連線數(持久性和非持久性)。 -1 代表無限制。

pgsql.auto_reset_persistent = Off
; 是否自動重設在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 模式的預設值="/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 記憶體快取上限(最大允許在記憶體中快取的WSDL檔案數量)。
; 達到上限之後,最新快取的檔案將會擠掉最老的快取檔案。

1/5 - (2 votes)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *