本文主要和大家分享php.ini中的常用配置詳解,主要以文字和代碼的形式和大家分享,希望能協助到大家。
資源限制
max_execution_time integer
這設定了指令碼被解析器中止之前允許的最大執行時間,單位秒。 這有助於防止寫得不好的指令碼佔盡伺服器資源。 預設設定為 30。 從命令列運行 PHP 時,預設設定為 0。
max_execution_time 僅僅隻影響指令碼本身啟動並執行時間。任何其它花費在指令碼運行之外的時間,諸如用函數 system() 對系統的調用、sleep() 函數的使用、資料庫查詢、檔案上傳等,在計算指令碼啟動並執行最大時間時都不包括在內。
最大執行時間不會影響系統調用和系統操作等。在 安全模式 下你不能通過 ini_set() 來修改此設定。唯一的解決方案是關閉安全模式或者在 php.ini 中修改時間限制。
max_input_time integer
指令碼解析輸入資料(類似 POST 和 GET)允許的最大時間,單位是秒。 它從接收所有資料到開始執行指令碼進行測量的。
memory_limit integer
指令碼可能消耗的最大記憶體量(預設 128MB)
資料處理
post_max_size intager
允許的POST資料最大位元組長度。此設定也影響到檔案上傳。如果POST資料超出限制,那麼$_POST和$_FILES將會為空白。要上傳大檔案,該值必須大於upload_max_filesize指令的值。如果啟用了記憶體限制,那麼該值應當小於memory_limit指令的值。
路徑設定
include_path string
指定一組目錄用於require(), include(), fopen_with_path()函數尋找檔案。格式和系統的PATH環境變數類似(UNIX下用冒號分隔,Windows下用分號分隔):UNIX: "/path1:/path2",Windows: "\path1;\path2"。在包含路徑中使用’.’可以允許相對路徑,它代表目前的目錄。
extension_dir string
存放擴充庫(模組)的目錄,也就是PHP用來尋找動態擴充模組的目錄。
檔案上傳
file_uploads boolean or integer
是否允許HTTP檔案上傳。預設值為On允許HTTP檔案上傳,此選項不能設定為Off。
upload_tmp_dir string
檔案上傳時存放檔案的臨時目錄(必須是PHP進程使用者可寫的目錄)。如果未指定則PHP使用系統預設的臨時目錄。
upload_max_filesize integer
允許上傳的檔案的最大尺寸。
max_file_uploads integer
允許同時上傳的檔案的最大數量。 從PHP 5.3.4開始,上傳欄位在提交時保持空白不計入此限制。
Fopen 封裝
allow_url_fopen boolean
本選項啟用了 URL 形式的 fopen 封裝協議使得可以存取 URL 對象例如檔案。預設的封裝協議提供用 ftp 和 http協議來訪問遠程檔案,一些擴充庫例如 zlib 可能會註冊更多的封裝協議。
allow_url_include boolean
此選項允許有以下功能使用URL識別的fopen封裝:包括,include,include_once,require,require_once。此設定要求allow_url_fopen選項要開啟。
default_socket_timeout integer
基於 socket 的流的預設逾時時間(秒)。
日期
date.timezone string
定義日期函數使用的預設時區
session
session.use_strict_mode boolean
session.use_strict_mode指定模組是否將使用嚴格的會話ID模式。 如果啟用此模式,模組不接受未初始化的會話ID。 如果從瀏覽器發送未初始化的會話ID,則會將新的會話ID發送到瀏覽器。 應用程式通過strict 模式的會話採用保護會話固定。 預設為0(禁用)。
session.use_cookies boolean
session.use_cookies 指定是否在用戶端用 cookie 來存放會話 ID。預設為 1(啟用)。
session.cookie_secure boolean
session.cookie_secure 指定是否僅通過安全連線發送 cookie。預設為 off。
session.use_only_cookies boolean
session.use_only_cookies 指定是否在用戶端僅僅使用 cookie 來存放會話 ID。啟用此設定可以防止有關通過 URL 傳遞會話 ID 的攻擊。此設定是 PHP 4.3.0 添加的。自PHP 5.3.0開始,預設值改為1(啟用)
session.name string
session.name 指定會話名以用做 cookie 的名字。只能由字母數字組成,預設為 PHPSESSID。
session.auto_start boolean
session.auto_start 指定會話模組是否在請求開始時自動啟動一個會話。預設為 0(不啟動)。
session.serialize_handler string
session.serialize_handler 定義用來序列化/解序列化的處理器名字。 當前支援 PHP 序列化格式 (名為php_serialize)、 PHP PHP 內部格式 (名為 php 及 php_binary) 和 WDDX (名為 wddx)。 如果 PHP 編譯時間加入了 WDDX 支援,則只能用 WDDX。 自 PHP 5.5.4 起可以使用 php_serialize。php_serialize 在內部簡單地直接使用 serialize/unserialize 函數,並且不會有 php 和 php_binary 所具有的限制。 使用較舊的序列化處理器導致 $_SESSION 的索引既不能是數字也不能包含特殊字元(| and !)。 使用 php_serialize 避免指令碼退出時,數字及特殊字元索引導致出錯。 預設使用 php。
session.gc_probability integer
session.gc_probability 與 session.gc_pisor 合起來用來管理 gc(garbag collection 記憶體回收)進程啟動的機率。預設為 1。
session.gc_pisor integer
session.gc_pisor 與 session.gc_probability 合起來定義了在每個會話初始化時啟動gc(garbage collection 記憶體回收)進程的機率。此機率用 gc_probability/gc_pisor計算得來。例如 1/100 意味著在每個請求中有 1% 的機率啟動 gc 進程。 將此值增加到1000會給你0.1%的幾率gc將運行任何給出的請求。 對於大批量生產伺服器,這是一個更有效方法。
session.gc_maxlifetime integer
session.gc_maxlifetime integer 指定過了多少秒之後資料就會被視為“垃圾”並被清除。 垃圾搜集可能會在session 啟動的時候開始( 取決於session.gc_probability 和 session.gc_pisor)。
詳情請參考:http://www.cnblogs.com/cuchadanfan/p/6163970.html
資源限制
max_execution_time integer
這設定了指令碼被解析器中止之前允許的最大執行時間,單位秒。 這有助於防止寫得不好的指令碼佔盡伺服器資源。 預設設定為 30。 從命令列運行 PHP 時,預設設定為 0。
max_execution_time 僅僅隻影響指令碼本身啟動並執行時間。任何其它花費在指令碼運行之外的時間,諸如用函數 system() 對系統的調用、sleep() 函數的使用、資料庫查詢、檔案上傳等,在計算指令碼啟動並執行最大時間時都不包括在內。
最大執行時間不會影響系統調用和系統操作等。在 安全模式 下你不能通過 ini_set() 來修改此設定。唯一的解決方案是關閉安全模式或者在 php.ini 中修改時間限制。
max_input_time integer
指令碼解析輸入資料(類似 POST 和 GET)允許的最大時間,單位是秒。 它從接收所有資料到開始執行指令碼進行測量的。
memory_limit integer
指令碼可能消耗的最大記憶體量(預設 128MB)
資料處理
post_max_size intager
允許的POST資料最大位元組長度。此設定也影響到檔案上傳。如果POST資料超出限制,那麼$_POST和$_FILES將會為空白。要上傳大檔案,該值必須大於upload_max_filesize指令的值。如果啟用了記憶體限制,那麼該值應當小於memory_limit指令的值。
路徑設定
include_path string
指定一組目錄用於require(), include(), fopen_with_path()函數尋找檔案。格式和系統的PATH環境變數類似(UNIX下用冒號分隔,Windows下用分號分隔):UNIX: "/path1:/path2",Windows: "\path1;\path2"。在包含路徑中使用’.’可以允許相對路徑,它代表目前的目錄。
extension_dir string
存放擴充庫(模組)的目錄,也就是PHP用來尋找動態擴充模組的目錄。
檔案上傳
file_uploads boolean or integer
是否允許HTTP檔案上傳。預設值為On允許HTTP檔案上傳,此選項不能設定為Off。
upload_tmp_dir string
檔案上傳時存放檔案的臨時目錄(必須是PHP進程使用者可寫的目錄)。如果未指定則PHP使用系統預設的臨時目錄。
upload_max_filesize integer
允許上傳的檔案的最大尺寸。
max_file_uploads integer
允許同時上傳的檔案的最大數量。 從PHP 5.3.4開始,上傳欄位在提交時保持空白不計入此限制。
Fopen 封裝
allow_url_fopen boolean
本選項啟用了 URL 形式的 fopen 封裝協議使得可以存取 URL 對象例如檔案。預設的封裝協議提供用 ftp 和 http協議來訪問遠程檔案,一些擴充庫例如 zlib 可能會註冊更多的封裝協議。
allow_url_include boolean
此選項允許有以下功能使用URL識別的fopen封裝:包括,include,include_once,require,require_once。此設定要求allow_url_fopen選項要開啟。
default_socket_timeout integer
基於 socket 的流的預設逾時時間(秒)。
日期
date.timezone string
定義日期函數使用的預設時區
session
session.use_strict_mode boolean
session.use_strict_mode指定模組是否將使用嚴格的會話ID模式。 如果啟用此模式,模組不接受未初始化的會話ID。 如果從瀏覽器發送未初始化的會話ID,則會將新的會話ID發送到瀏覽器。 應用程式通過strict 模式的會話採用保護會話固定。 預設為0(禁用)。
session.use_cookies boolean
session.use_cookies 指定是否在用戶端用 cookie 來存放會話 ID。預設為 1(啟用)。
session.cookie_secure boolean
session.cookie_secure 指定是否僅通過安全連線發送 cookie。預設為 off。
session.use_only_cookies boolean
session.use_only_cookies 指定是否在用戶端僅僅使用 cookie 來存放會話 ID。啟用此設定可以防止有關通過 URL 傳遞會話 ID 的攻擊。此設定是 PHP 4.3.0 添加的。自PHP 5.3.0開始,預設值改為1(啟用)
session.name string
session.name 指定會話名以用做 cookie 的名字。只能由字母數字組成,預設為 PHPSESSID。
session.auto_start boolean
session.auto_start 指定會話模組是否在請求開始時自動啟動一個會話。預設為 0(不啟動)。
session.serialize_handler string
session.serialize_handler 定義用來序列化/解序列化的處理器名字。 當前支援 PHP 序列化格式 (名為php_serialize)、 PHP PHP 內部格式 (名為 php 及 php_binary) 和 WDDX (名為 wddx)。 如果 PHP 編譯時間加入了 WDDX 支援,則只能用 WDDX。 自 PHP 5.5.4 起可以使用 php_serialize。php_serialize 在內部簡單地直接使用 serialize/unserialize 函數,並且不會有 php 和 php_binary 所具有的限制。 使用較舊的序列化處理器導致 $_SESSION 的索引既不能是數字也不能包含特殊字元(| and !)。 使用 php_serialize 避免指令碼退出時,數字及特殊字元索引導致出錯。 預設使用 php。
session.gc_probability integer
session.gc_probability 與 session.gc_pisor 合起來用來管理 gc(garbag collection 記憶體回收)進程啟動的機率。預設為 1。
session.gc_pisor integer
session.gc_pisor 與 session.gc_probability 合起來定義了在每個會話初始化時啟動gc(garbage collection 記憶體回收)進程的機率。此機率用 gc_probability/gc_pisor計算得來。例如 1/100 意味著在每個請求中有 1% 的機率啟動 gc 進程。 將此值增加到1000會給你0.1%的幾率gc將運行任何給出的請求。 對於大批量生產伺服器,這是一個更有效方法。
session.gc_maxlifetime integer
session.gc_maxlifetime integer 指定過了多少秒之後資料就會被視為“垃圾”並被清除。 垃圾搜集可能會在session 啟動的時候開始( 取決於session.gc_probability 和 session.gc_pisor)。