1. 程式人生 > >php.ini 檔案配置詳解

php.ini 檔案配置詳解

;;;;;;;;;;;;;;;;
;; 作者:金步國
;; 日期:2006.11.12
;;;;;;;;;;;;;;;;
;;  版權宣告  ;;
;;;;;;;;;;;;;;;;
; 本文作者是一位自由軟體愛好者,所以本文雖然不是軟體,但是本著 GPL 的精神釋出。
; 任何人都可以自由使用、轉載、複製和再分發,但必須保留作者署名,
; 亦不得對宣告中的任何條款作任何形式的修改,也不得附加任何其它條件。
; 您可以自由連結、下載、傳播此文件,但前提是必須保證全文完整轉載,包括完整的版權資訊和作譯者宣告。
;
; 本文作者十分願意與他人共享勞動成果,如果你對我的其他翻譯作品或者技術文章有興趣,
; 可以在如下位置檢視現有作品的列表:

http://lamp.linux.gov.cn/jinbuguo_florilegium.html
;
;;;;;;;;;;;;;;;;;;;;;;;;;
;; BUG報告,切磋與探討 ;;
;;;;;;;;;;;;;;;;;;;;;;;;;
; 由於作者水平有限,因此不能保證作品內容準確無誤,請在閱讀中自行鑑別。
; 如果你發現了作品中的錯誤,請您來信指出,哪怕是錯別字也好,任何提高作品質量的建議我都將虛心接納。
; 如果你願意就作品中的相關內容與我進行進一步切磋與探討,也歡迎你與我聯絡。
; 聯絡方式:Email: [email protected] ; QQ: 70171448 ; MSN: 
[email protected]

;
;;;;;;;;;;;;;;
;;   簡介   ;;
;;;;;;;;;;;;;;
; 本文並非是對英文版 php.ini 的簡單翻譯,而是參考了眾多資料以後,結合自己的理解,
; 在原有 php.ini 基礎上增加了一些實用模組的配置說明,同時對檔案內容的安排進行了調整。
; 由於作者不喜歡 no-free 的玩意兒,所以刪除了除 MySQL 和 PostgreSQL 以外的其他資料庫模組配置選項。

;;;;;;;;;;;;;;;;;
;; 關於php.ini ;;
;;;;;;;;;;;;;;;;;
; 這個檔案必須命名為'php.ini'並放置在httpd.conf中的PHPIniDir指令指定的目錄中。
; 最新版本的php.ini可以在下面兩個位置檢視:
http://cvs.php.net/viewvc.cgi/php-src/php.ini-recommended?view=co

http://cvs.php.net/viewvc.cgi/php-src/php.ini-dist?view=co


;;;;;;;;;;;;
;;  語法  ;;
;;;;;;;;;;;;
; 該檔案的語法非常簡單。空白字元和以分號開始的行被簡單地忽略。
; 章節標題(例如: [php])也被簡單地忽略,即使將來它們可能有某種意義。
;
; 設定指令的格式如下:
; directive = value
; 指令名(directive)是大小寫敏感的!所以"foo=bar"不同於"FOO=bar"。
; 值(value)可以是:
; 1. 用引號界定的字串(如:"foo")
; 2. 一個數字(整數或浮點數,如:0, 1, 34, -1, 33.55)
; 3. 一個PHP常量(如:E_ALL, M_PI)
; 4. 一個INI常量(On, Off, none)
; 5. 一個表示式(如:E_ALL & ~E_NOTICE)
;
; INI檔案中的表示式僅使用:位運算子、邏輯非、圓括號:
; | 位或
; & 位與
; ~ 位非
; ! 邏輯非
;
; 布林標誌用 On 表示開啟,用 Off 表示關閉。
;
; 一個空字串可以用在等號後不寫任何東西表示,或者用 none 關鍵字:
; foo =         ; 將foo設為空字串
; foo = none    ; 將foo設為空字串
; foo = "none"  ; 將foo設為字串'none'
;
; 如果你在指令值中使用動態擴充套件(PHP擴充套件或Zend擴充套件)中的常量,
; 那麼你只能在載入這些動態擴充套件的指令行之後使用這些常量。


;;;;;;;;;;;;;;;;;;
;;  httpd.conf  ;;
;;;;;;;;;;;;;;;;;;
; 還可以在httpd.conf中覆蓋php.ini的值,以進行更靈活的配置:
; php_value name value  ;設定非bool型的指令,將value設為none則清除先前的設定
; php_flag  name on|off ;僅用於設定bool型的指令
;
; PHP常量(如E_ALL)僅能在php.ini中使用,在httpd.conf中必須使用相應的掩碼值。
; 帶"SYS"標誌的指令只能在httpd.conf中的全域性配置部分使用,
; 帶"ini"標誌的指令不能在httpd.conf中使用,它們僅能用於php.ini中。


;==========================================================================================
;;=====================================配置指令詳解========================================
;==========================================================================================
; 以下每個指令的設定值都與 PHP-5.2.0 內建的預設值相同。
; 也就是說,如果'php.ini'不存在,或者你刪掉了某些行,預設值與之相同。

;;;;;;;;;;;;;;
;;  Apache  ;;
;;;;;;;;;;;;;;
[Apache]
; 僅在將PHP作為Apache模組時才有效。

engine = On
; 是否啟用PHP解析引擎。
; 可以在httpd.conf中基於目錄或者虛擬主機來開啟或者關閉PHP解析引擎。

last_modified = Off
; 是否在Last-Modified應答頭中放置該PHP指令碼的最後修改時間。

xbithack = Off
; 是否不管檔案結尾是什麼,都作為PHP可執行位組來解析。

child_terminate = Off
; PHP指令碼在請求結束後是否允許使用apache_child_terminate()函式終止子程序。
; 該指令僅在UNIX平臺上將PHP安裝為Apache1.3的模組時可用。其他情況下皆不存在。


;;;;;;;;;;;;;;;
;;  PHP核心  ;;
;;;;;;;;;;;;;;;

[PHP-Core-DateTime]
; 前四個配置選專案前僅用於date_sunrise()和date_sunset()函式。

date.default_latitude = 31.7667
; 預設緯度

date.default_longitude = 35.2333
; 預設經度

date.sunrise_zenith = 90.583333
; 預設日出天頂

date.sunset_zenith = 90.583333
; 預設日落天頂

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


[PHP-Core-Assert]

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

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

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

assert.quiet_eval = Off
; 是否使用安靜評估(不顯示任何錯誤資訊,相當於error_reporting=0)。
; 若關閉則在評估斷言表示式的時候使用當前的error_reporting指令值。

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


[PHP-Core-SafeMode]
; 安全模式是為了解決共享伺服器的安全問題而設立的。
; 但試圖在PHP層解決這個問題在結構上是不合理的,
; 正確的做法應當是修改web伺服器層和作業系統層。
; 因此在PHP6中廢除了安全模式,並打算使用open_basedir指令取代之。

safe_mode = Off
;SYS
; 是否啟用安全模式。
; 開啟時,PHP將檢查當前指令碼的擁有者是否和被操作的檔案的擁有者相同,
; 相同則允許操作,不同則拒絕操作。

safe_mode_gid = Off
;SYS
; 在安全模式下,預設在訪問檔案時會做UID比較檢查。
; 但有些情況下嚴格的UID檢查反而是不適合的,寬鬆的GID檢查已經足夠。
; 如果你想將其放寬到僅做GID比較,可以開啟這個引數。

safe_mode_allowed_env_vars = "PHP_"
;SYS
; 在安全模式下,使用者僅可以更改的環境變數的字首列表(逗號分隔)。
; 允許使用者設定某些環境變數,可能會導致潛在的安全漏洞。
; 注意: 如果這一引數值為空,PHP將允許使用者更改任意環境變數!

safe_mode_protected_env_vars = "LD_LIBRARY_PATH"
;SYS
; 在安全模式下,使用者不能更改的環境變數列表(逗號分隔)。
; 這些變數即使在safe_mode_allowed_env_vars指令設定為允許的情況下也會得到保護。

safe_mode_exec_dir = "/usr/local/php/bin"
;SYS
; 在安全模式下,只有該目錄下的可執行程式才允許被執行系統程式的函式執行。
; 這些函式是:system, escapeshellarg, escapeshellcmd, exec, passthru, 
; proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, shell_exec

safe_mode_include_dir =
;SYS
; 在安全模式下,該組目錄和其子目錄下的檔案被包含時,將跳過UID/GID檢查。
; 換句話說,如果此處的值為空,任何UID/GID不符合的檔案都不允許被包含。
; 這裡設定的目錄必須已經存在於include_path指令中或者用完整路徑來包含。
; 多個目錄之間用冒號(Win下為分號)隔開。
; 指定的限制實際上是一個字首,而非一個目錄名,
; 也就是說"/dir/incl"將允許訪問"/dir/include"和"/dir/incls"
; 如果您希望將訪問控制在一個指定的目錄,那麼請在結尾加上斜線。

sql.safe_mode = Off
;SYS
; 是否使用SQL安全模式。
; 如果開啟,指定預設值的資料庫連線函式將會使用這些預設值代替支援的引數。
; 對於每個不同資料庫的連線函式,其預設值請參考相應的手冊頁面。


[PHP-Core-Safe]

allow_url_fopen = On
;ini
; 是否允許開啟遠端檔案

allow_url_include = Off
;SYS
; 是否允許include/require遠端檔案。

disable_classes =
;ini
; 該指令接受一個用逗號分隔的類名列表,以禁用特定的類。

disable_functions =
;ini
; 該指令接受一個用逗號分隔的函式名列表,以禁用特定的函式。

enable_dl = On
;SYS
; 是否允許使用dl()函式。dl()函式僅在將PHP作為apache模組安裝時才有效。
; 禁用dl()函式主要是出於安全考慮,因為它可以繞過open_basedir指令的限制。
; 在安全模式下始終禁用dl()函式,而不管此處如何設定。

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

open_basedir =
;SYS
; 將PHP允許操作的所有檔案(包括檔案自身)都限制在此組目錄列表下。
; 當一個指令碼試圖開啟一個指定目錄樹之外的檔案時,將遭到拒絕。
; 所有的符號連線都會被解析,所以不可能通過符號連線來避開此限制。
; 特殊值'.'指定了存放該指令碼的目錄將被當做基準目錄。
; 但這有些危險,因為指令碼的工作目錄可以輕易被chdir()改變。
; 對於共享伺服器,在httpd.conf中靈活設定該指令將變得非常有用。
; 在Windows中用分號分隔目錄,UNIX系統中用冒號分隔目錄。
; 作為Apache模組時,父目錄中的open_basedir路徑將自動被繼承。
; 指定的限制實際上是一個字首,而非一個目錄名,
; 也就是說"/dir/incl"將允許訪問"/dir/include"和"/dir/incls",
; 如果您希望將訪問控制在一個指定的目錄,那麼請在結尾加上一個斜線。
; 預設是允許開啟所有檔案。

[PHP-Core-Error]

error_reporting = E_ALL & ~E_NOTICE
; 錯誤報告級別是位欄位的疊加,推薦使用 E_ALL | E_STRICT
;    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
; 6143  E_ALL               除E_STRICT外的所有錯誤(PHP6中為8191,即包含所有)

track_errors = Off
; 是否在變數$php_errormsg中儲存最近一個錯誤或警告訊息。

display_errors = On
; 是否將錯誤資訊作為輸出的一部分顯示。
; 在最終釋出的web站點上,強烈建議你關掉這個特性,並使用錯誤日誌代替(參看下面)。
; 在最終釋出的web站點開啟這個特性可能暴露一些安全資訊,
; 例如你的web服務上的檔案路徑、資料庫規劃或別的資訊。

display_startup_errors = Off
; 是否顯示PHP啟動時的錯誤。
; 即使display_errors指令被開啟,關閉此引數也將不顯示PHP啟動時的錯誤。
; 建議你關掉這個特性,除非你必須要用於除錯中。

report_memleaks = On
; 是否報告記憶體洩漏。這個引數只在以除錯方式編譯的PHP中起作用,
; 並且必須在error_reporting指令中包含 E_WARNING

report_zend_debug = On
; 尚無說明文件

html_errors = On
; 是否在出錯資訊中使用HTML標記。
; 注意: 不要在釋出的站點上使用這個特性!

docref_root =  ;"http://localhost/phpmanual/"
docref_ext =   ;".html"
; 如果打開了html_errors指令,PHP將會在出錯資訊上顯示超連線,
; 直接連結到一個說明這個錯誤或者導致這個錯誤的函式的頁面。
; 你可以從http://www.php.net/docs.php下載php手冊,
; 並將docref_root指令指向你本地的手冊所在的URL目錄。
; 你還必須設定docref_ext指令來指定檔案的副檔名(必須含有'.')。
; 注意: 不要在釋出的站點上使用這個特性。

error_prepend_string =  ;"<font color=#f00>"
; 用於錯誤資訊前輸出的字串
error_append_string =   ;"</font>"
; 用於錯誤資訊後輸出的字串

xmlrpc_errors = Off
xmlrpc_error_number = 0
; 尚無文件


[PHP-Core-Logging]

define_syslog_variables = Off
; 是否定義各種系統日誌變數,如:$LOG_PID, $LOG_CRON 等等。
; 關掉它以提高效率的好主意。
; 你可以在執行時呼叫define_syslog_variables()函式來定義這些變數。

error_log =
; 將錯誤日誌記錄到哪個檔案中。該檔案必須對Web伺服器使用者可寫。
; syslog 表示記錄到系統日誌中(NT下的事件日誌, Unix下的syslog(3))
; 如果此處未設定任何值,則錯誤將被記錄到Web伺服器的錯誤日誌中。

log_errors = Off
; 是否在日誌檔案裡記錄錯誤,具體在哪裡記錄取決於error_log指令。
; 強烈建議你在最終釋出的web站點時使用日誌記錄錯誤而不是直接輸出,
; 這樣可以讓你既知道那裡出了問題,又不會暴露敏感資訊。

log_errors_max_len = 1024
; 設定錯誤日誌中附加的與錯誤資訊相關聯的錯誤源的最大長度。
; 這裡設定的值對顯示的和記錄的錯誤以及$php_errormsg都有效。
; 設為 0 可以允許無限長度。

ignore_repeated_errors = Off
; 記錄錯誤日誌時是否忽略重複的錯誤資訊。
; 錯誤資訊必須出現在同一檔案的同一行才被被視為重複。

ignore_repeated_source = Off
; 是否在忽略重複的錯誤資訊時忽略重複的錯誤源。


[PHP-Core-Mail]
; 要使郵件函式可用,PHP必須在編譯時能夠訪問sendmail程式。
; 如果使用其它的郵件程式,如qmail或postfix,確保使用了相應的sendmail包裝。
; PHP首先會在系統的PATH環境變數中搜索sendmail,接著按以下順序搜尋:
; /usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/lib
; 強烈建議在PATH中能夠找到sendmail。
; 另外,編譯PHP的使用者必須能夠訪問sendmail程式。

SMTP = "localhost"
; mail()函式中用來發送郵件的SMTP伺服器的主機名稱或者IP地址。僅用於win32。

smtp_port = 25
; SMTP伺服器的埠號。僅用於win32。

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

sendmail_path = "-t -i"
;SYS
; 僅用於unix,也可支援引數(預設的是'sendmail -t -i')
; sendmail程式的路徑,通常為"/usr/sbin/sendmail或/usr/lib/sendmail"。
; configure指令碼會嘗試找到該程式並設定為預設值,但是如果失敗的話,可以在這裡設定。
; 不使用sendmail的系統應將此指令設定為sendmail替代程式(如果有的話)。
; 例如,Qmail使用者通常可以設為"/var/qmail/bin/sendmail"或"/var/qmail/bin/qmail-inject"。
; qmail-inject 不需要任何選項就能正確處理郵件。

mail.force_extra_parameters =
; 作為額外的引數傳遞給sendmail庫的強制指定的引數附加值。
; 這些引數總是會替換掉mail()的第5個引數,即使在安全模式下也是如此。


[PHP-Core-ResourceLimit]

default_socket_timeout = 60
; 預設socket超時(秒)

max_execution_time = 30
; 每個指令碼最大允許執行時間(秒),0 表示沒有限制。
; 這個引數有助於阻止劣質指令碼無休止的佔用伺服器資源。
; 該指令僅影響指令碼本身的執行時間,任何其它花費在指令碼執行之外的時間,
; 如用system()/sleep()函式的使用、資料庫查詢、檔案上傳等,都不包括在內。
; 在安全模式下,你不能用ini_set()在執行時改變這個設定。

memory_limit = 16M
; 一個指令碼所能夠申請到的最大記憶體位元組數(可以使用K和M作為單位)。
; 這有助於防止劣質指令碼消耗完伺服器上的所有記憶體。
; 要能夠使用該指令必須在編譯時使用"--enable-memory-limit"配置選項。
; 如果要取消記憶體限制,則必須將其設為 -1 。
; 設定了該指令後,memory_get_usage()函式將變為可用。

max_input_time = -1
; 每個指令碼解析輸入資料(POST, GET, upload)的最大允許時間(秒)。
; -1 表示不限制。

post_max_size = 8M
; 允許的POST資料最大位元組長度。此設定也影響到檔案上傳。
; 如果POST資料超出限制,那麼$_POST和$_FILES將會為空。
; 要上傳大檔案,該值必須大於upload_max_filesize指令的值。
; 如果啟用了記憶體限制,那麼該值應當小於memory_limit指令的值。

realpath_cache_size = 16K
;SYS
; 指定PHP使用的realpath(規範化的絕對路徑名)緩衝區大小。
; 在PHP開啟大量檔案的系統上應當增大該值以提高效能。

realpath_cache_ttl = 120
;SYS
; realpath緩衝區中資訊的有效期(秒)。
; 對檔案很少變動的系統,可以增大該值以提高效能。

[PHP-Core-FileUpLoad]

file_uploads = On
;SYS
; 是否允許HTTP檔案上傳。
; 參見upload_max_filesize, upload_tmp_dir, post_max_size指令

upload_max_filesize = 2M
; 允許上傳的檔案的最大尺寸。

upload_tmp_dir =
;SYS
; 檔案上傳時存放檔案的臨時目錄(必須是PHP程序使用者可寫的目錄)。
; 如果未指定則PHP使用系統預設的臨時目錄。


[PHP-Core-MagicQuotes]
; PHP6將取消魔術引號,相當於下列指令全部為 Off

magic_quotes_gpc = On
; 是否對輸入的GET/POST/Cookie資料使用自動字串轉義( '  "  /  NULL )。
; 這裡的設定將自動影響 $_GEST $_POST $_COOKIE 陣列的值。
; 若將本指令與magic_quotes_sybase指令同時開啟,則僅將單引號(')轉義為(''),
; 其它特殊字元將不被轉義,即( "  /  NULL )將保持原樣!!
; 建議關閉此特性,並使用自定義的過濾函式。

magic_quotes_runtime = Off
; 是否對執行時從外部資源產生的資料使用自動字串轉義( '  "  /  NULL )。
; 若開啟本指令,則大多數函式從外部資源(資料庫,文字檔案等)返回資料都將被轉義。
; 例如:用SQL查詢得到的資料,用exec()函式得到的資料,等等
; 若將本指令與magic_quotes_sybase指令同時開啟,則僅將單引號(')轉義為(''),
; 其它特殊字元將不被轉義,即( "  /  NULL )將保持原樣!!
; 建議關閉此特性,並視具體情況使用自定義的過濾函式。

magic_quotes_sybase = Off
; 是否採用Sybase形式的自動字串轉義(用 '' 表示 ')


[PHP-Core-HighLight]

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


[PHP-Core-Langue]

short_open_tag = On
; 是否允許使用"<? ?>"短標識。否則必須使用"<?php ?>"長標識。
; 除非你的php程式僅在受控環境下執行,且只供自己使用,否則請不要使用短標記。
; 如果要和XML結合使用PHP,可以選擇關閉此選項以方便直接嵌入"<?xml ... ?>",
; 不然你必須用PHP來輸出:<? echo '<?xml version="1.0"'; ?>
; 本指令也會影響到縮寫形式"<?=",它和"<? echo"等價,要使用它也必須開啟短標記。

asp_tags = Off
; 是否允許ASP風格的標記"<% %>",這也會影響到縮寫形式"<%="。
; PHP6中將刪除此指令

arg_separator.output = "&"
; PHP所產生的URL中用來分隔引數的分隔符。
; 另外還可以用"&"或","等等。

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

allow_call_time_pass_reference = On
; 是否強迫在函式呼叫時按引用傳遞引數(每次使用此特性都會收到一條警告)。
; php反對這種做法,並在將來的版本里不再支援,因為它影響到了程式碼的整潔。
; 鼓勵的方法是在函式聲明裡明確指定哪些引數按引用傳遞。
; 我們鼓勵你關閉這一選項,以保證你的指令碼在將來版本的語言裡仍能正常工作。

auto_globals_jit = On
; 是否僅在使用到$_SERVER和$_ENV變數時才建立(而不是在指令碼一啟動時就自動建立)。
; 如果並未在指令碼中使用這兩個陣列,開啟該指令將會獲得性能上的提升。
; 要想該指令生效,必須關閉register_globals和register_long_arrays指令。

auto_prepend_file =
auto_append_file  =
; 指定在主檔案之前/後自動解析的檔名。為空表示禁用該特性。
; 該檔案就像呼叫了include()函式被包含進來一樣,因此會使用include_path指令的值。
; 注意:如果指令碼通過exit()終止,那麼自動字尾將不會發生。

variables_order = "EGPCS"
; PHP註冊 Environment, GET, POST, Cookie, Server 變數的順序。
; 分別用 E, G, P, C, S 表示,按從左到右註冊,新值覆蓋舊值。
; 舉例說,設為"GP"將會導致用POST變數覆蓋同名的GET變數,
; 並完全忽略 Environment, Cookie, Server 變數。
; 推薦使用"GPC"或"GPCS",並使用getenv()函式訪問環境變數。

register_globals = Off
; 是否將 E, G, P, C, S 變數註冊為全域性變數。
; 開啟該指令可能會導致嚴重的安全問題,除非你的指令碼經過非常仔細的檢查。
; 推薦使用預定義的超全域性變數:$_ENV, $_GET, $_POST, $_COOKIE, $_SERVER
; 該指令受variables_order指令的影響。
; PHP6中已經刪除此指令。

register_argc_argv = On
; 是否宣告$argv和$argc全域性變數(包含用GET方法的資訊)。
; 建議不要使用這兩個變數,並關掉該指令以提高效能。

register_long_arrays = On
; 是否啟用舊式的長式陣列(HTTP_*_VARS)。
; 鼓勵使用短式的預定義超全域性陣列,並關閉該特性以獲得更好的效能。
; PHP6中已經刪除此指令。

always_populate_raw_post_data = Off
; 是否總是生成$HTTP_RAW_POST_DATA變數(原始POST資料)。
; 否則,此變數僅在遇到不能識別的MIME型別的資料時才產生。
; 不過,訪問原始POST資料的更好方法是 php://input 。
; $HTTP_RAW_POST_DATA對於enctype="multipart/form-data"的表單資料不可用。

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

y2k_compliance = On
; 是否強制開啟2000年適應(可能在非Y2K適應的瀏覽器中導致問題)。

zend.ze1_compatibility_mode = Off
; 是否使用相容Zend引擎I(PHP 4.x)的模式。
; 這將影響物件的複製、構造(無屬性的物件會產生FALSE或0)、比較。
; 相容模式下,物件將按值傳遞,而不是預設的按引用傳遞。

precision = 14
; 浮點型資料顯示的有效位數。

serialize_precision = 100
; 將浮點型和雙精度型資料序列化儲存時的精度(有效位數)。
; 預設值能夠確保浮點型資料被解序列化程式解碼時不會丟失資料。


[PHP-Core-OutputControl]
; 輸出控制函式很有用,特別是在已經輸出了資訊之後再發送HTTP頭的情況下。
; 輸出控制函式不會作用於header()或setcookie()等函式傳送的HTTP頭,
; 而只會影響類似於echo()函式輸出的資訊和嵌入在PHP程式碼之間的資訊。

implicit_flush = Off
; 是否要求PHP輸出層在每個輸出塊之後自動重新整理資料。
; 這等效於在每個 print()、echo()、HTML塊 之後自動呼叫flush()函式。
; 開啟這個選項對程式執行的效能有嚴重的影響,通常只推薦在除錯時使用。
; 在CLI SAPI的執行模式下,該指令預設為 On 。

output_buffering = 0
; 輸出緩衝區大小(位元組)。建議值為4096~8192。
; 輸出緩衝允許你甚至在輸出正文內容之後再發送HTTP頭(包括cookies)。
; 其代價是輸出層減慢一點點速度。
; 設定輸出緩衝可以減少寫入,有時還能減少網路資料包的傳送。
; 這個引數的實際收益很大程度上取決於你使用的是什麼Web伺服器以及什麼樣的指令碼。

output_handler =
; 將所有指令碼的輸出重定向到一個輸出處理函式。
; 比如,重定向到mb_output_handler()函式時,字元編碼將被透明地轉換為指定的編碼。
; 一旦你在這裡指定了輸出處理程式,輸出緩衝將被自動開啟(output_buffering=4096)。
; 注意0: 此處僅能使用PHP內建的函式,自定義函式應在指令碼中使用ob_start()指定。
; 注意1: 可移植指令碼不能依賴該指令,而應使用ob_start()函式明確指定輸出處理函式。
;        使用這個指令可能會導致某些你不熟悉的指令碼出錯。
; 注意2: 你不能同時使用"mb_output_handler"和"ob_iconv_handler"兩個輸出處理函式。
;        你也不能同時使用"ob_gzhandler"輸出處理函式和zlib.output_compression指令。
; 注意3: 如果使用zlib.output_handler指令開啟zlib輸出壓縮,該指令必須為空。

[PHP-Core-Directory]

doc_root =
;SYS
; PHP的"根目錄"。僅在非空時有效。
; 如果safe_mode=On,則此目錄之外的檔案一概被拒絕。
; 如果編譯PHP時沒有指定FORCE_REDIRECT,並且在非IIS伺服器上以CGI方式執行,
; 則必須設定此指令(參見手冊中的安全部分)。
; 替代方案是使用的cgi.force_redirect指令。

include_path = ".:/path/to/php/pear"
; 指定一組目錄用於require(), include(), fopen_with_path()函式尋找檔案。
; 格式和系統的PATH環境變數類似(UNIX下用冒號分隔,Windows下用分號分隔):
; UNIX: "/path1:/path2"
; Windows: "/path1;/path2"
; 在包含路徑中使用'.'可以允許相對路徑,它代表當前目錄。

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

extension_dir = "/path/to/php"
;SYS
; 存放擴充套件庫(模組)的目錄,也就是PHP用來尋找動態擴充套件模組的目錄。
; Windows下預設為"C:/php5"


[PHP-Core-HTTP]

default_mimetype = "text/html"
default_charset =  ;"gb2312"
; PHP預設會自動輸出"Content-Type: text/html" HTTP頭。
; 如果將default_charset指令設為"gb2312",
; 那麼將會自動輸出"Content-Type: text/html; charset=gb2312"。


[PHP-Core-Unicode]

detect_unicode = On
; 尚無文件


[PHP-Core-Misc]

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

browscap =  ;"c:/windows/system32/inetsrv/browscap.ini"
;SYS
; 只有PWS和IIS需要這個設定
; 你可以從http://www.garykeith.com/browsers/downloads.asp 
; 得到一個browscap.ini檔案。

ignore_user_abort = Off
; 是否即使在使用者中止請求後也堅持完成整個請求。
; 在執行一個長請求的時候應當考慮開啟該它,
; 因為長請求可能會導致使用者中途中止或瀏覽器超時。

user_agent =  ;"PHP"
; 定義"User-Agent"字串

;url_rewriter.tags = "a=href,area=href,frame=src,form=,fieldset="
; 雖然此指令屬於PHP核心部分,但是卻用於Session模組的配置

extension
; 在PHP啟動時載入動態擴充套件。例如:extension=mysqli.so
; "="之後只能使用模組檔案的名字,而不能含有路徑資訊。
; 路徑資訊應當只由extension_dir指令提供。
;主意,在windows上,下列擴充套件已經內建:
; bcmath ; calendar ; com_dotnet ; ctype ; session ; filter ; ftp ; hash
; iconv ; json ; odbc ; pcre ; Reflection ; date ; libxml ; standard
; tokenizer ; zlib ; SimpleXML ; dom ; SPL ; wddx ; xml ; xmlreader ; xmlwriter


[PHP-Core-CGI]
; 這些指令只有在將PHP執行在CGI模式下的時候才有效

cgi.discard_path = Off
; 尚無文件

cgi.fix_pathinfo = On/Off(??)
; 是否為CGI提供真正的 PATH_INFO/PATH_TRANSLATED 支援(遵守cgi規範)。
; 先前的行為是將PATH_TRANSLATED設為SCRIPT_FILENAME,而不管PATH_INFO是什麼。
; 開啟此選項將使PHP修正其路徑以遵守CGI規範,否則仍將使用舊式的不合規範的行為。
; 鼓勵你開啟此指令,並修正指令碼以使用 SCRIPT_FILENAME 代替 PATH_TRANSLATED 。
; 有關PATH_INFO的更多資訊請參見cgi規範。

cgi.force_redirect = On
; 是否開啟cgi強制重定向。強烈建議開啟它以為CGI方式執行的php提供安全保護。
; 你若自己關閉了它,請自己負責後果。
; 注意:在IIS/OmniHTTPD/Xitami上則必須關閉它!

cgi.redirect_status_env =
; 如果cgi.force_redirect=On,並且在Apache與Netscape之外的伺服器下執行PHP,
; 可能需要設定一個cgi重定向環境變數名,PHP將去尋找它來知道是否可以繼續執行下去。
; 設定這個變數會導致安全漏洞,請務必在設定前搞清楚自己在做什麼。

cgi.rfc2616_headers = 0
; 指定PHP在傳送HTTP響應程式碼時使用何種報頭。
; 0 表示傳送一個"Status: "報頭,Apache和其它web伺服器都支援。
; 若設為1,則PHP使用RFC2616標準的頭。
; 除非你知道自己在做什麼,否則保持其預設值 0

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

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

fastcgi.logging = On
; 是否記錄通過FastCGI進行的連線。


[PHP-Core-Weirdy]
; 這些選項僅存在於文件中,卻不存在於phpinfo()函式的輸出中

async_send = Off
; 是否非同步傳送。

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

;;;;;;;;;;;;;;;;;;
;;  近核心模組  ;;
;;;;;;;;;;;;;;;;;;

[Pcre]
;Perl相容正則表示式模組

pcre.backtrack_limit = 100000
; PCRE的最大回溯(backtracking)步數。

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


[Session]
; 除非使用session_register()或$_SESSION註冊了一個變數。
; 否則不管是否使用了session_start(),都不會自動新增任何session記錄。
; 包括resource變數或有迴圈引用的物件包含指向自身的引用的物件,不能儲存在會話中。
; register_globals指令會影響到會話變數的儲存和恢復。

session.save_handler = "files"
; 儲存和檢索與會話關聯的資料的處理器名字。預設為檔案("files")。
; 如果想要使用自定義的處理器(如基於資料庫的處理器),可用"user"。
; 有一個使用PostgreSQL的處理器:[url]http://sourceforge.net/projects/phpform-ext/[/url]

session.save_path = "/tmp"
; 傳遞給儲存處理器的引數。對於files處理器,此值是建立會話資料檔案的路徑。
; Windows下預設為臨時資料夾路徑。
; 你可以使用"N;[MODE;]/path"這樣模式定義該路徑(N是一個整數)。
; N表示使用N層深度的子目錄,而不是將所有資料檔案都儲存在一個目錄下。
; [MODE;]可選,必須使用8進位制數,預設600(=384),表示每個目錄下最多儲存的會話檔案數量。
; 這是一個提高大量會話效能的好主意。
; 注意0: "N;[MODE;]/path"兩邊的雙引號不能省略。
; 注意1: [MODE;]並不會改寫程序的umask。
; 注意2: php不會自動建立這些資料夾結構。請使用ext/session目錄下的mod_files.sh指令碼建立。
; 注意3: 如果該資料夾可以被不安全的使用者訪問(比如預設的"/tmp"),那麼將會帶來安全漏洞。
; 注意4: 當N>0時自動垃圾回收將會失效,具體參見下面有關垃圾蒐集的部分。

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

session.auto_start = Off
; 在客戶訪問任何頁面時都自動初始化會話,預設禁止。
; 因為類定義必須在會話啟動之前被載入,所以若開啟這個選項,你就不能在會話中存放物件。

session.serialize_handler = "php"
; 用來序列化/解序列化資料的處理器,php是標準序列化/解序列化處理器。
; 另外還可以使用"php_binary"。當啟用了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指令中的最小值為準。
; 如果使用多層子目錄來儲存資料檔案,垃圾回收程式不會自動啟動。
; 你必須使用一個你自己編寫的shell指令碼、cron項或者其他辦法來執行垃圾蒐集。
; 比如,下面的指令碼相當於設定了"session.gc_maxlifetime=1440" (24分鐘):
; cd /path/to/sessions; find -cmin +24 | xargs rm

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

session.entropy_file =  ;"/dev/urandom"
; 附加的用於建立會話ID的外部高熵值資源(檔案),
; 例如UNIX系統上的"/dev/random"或"/dev/urandom"

session.entropy_length = 0
; 從高熵值資源中讀取的位元組數(建議值:16)。

session.use_cookies = On
; 是否使用cookie在客戶端儲存會話ID

session.use_only_cookies = Off
; 是否僅僅使用cookie在客戶端儲存會話ID
; 開啟這個選項可以避免使用URL傳遞會話帶來的安全問題。
; 但是禁用Cookie的客戶端將使會話無法工作。

session.cookie_lifetime = 0
; 傳遞會話ID的Cookie有效期(秒),0 表示僅在瀏覽器開啟期間有效。

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

session.cookie_domain =
; 傳遞會話ID的Cookie作用域。
; 預設為空表示表示根據cookie規範生成的主機名。

session.cookie_secure = Off
; 是否僅僅通過安全連線(https)傳送cookie。

session.cookie_httponly = Off
; 是否在cookie中新增httpOnly標誌(僅允許HTTP協議訪問),
; 這將導致客戶端指令碼(JavaScript等)無法訪問該cookie。
; 開啟該指令可以有效預防通過XSS攻擊劫持會話ID。

session.cache_limiter = "nocache"
; 設為{nocache|private|public}以指定會話頁面的快取控制模式,
; 或者設為空以阻止在http應答頭中傳送禁用快取的命令。

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

session.use_trans_sid = Off
; 是否使用明碼在URL中顯示SID(會話ID)。
; 預設是禁止的,因為它會給你的使用者帶來安全危險:
; 1- 使用者可能將包含有效sid的URL通過email/irc/QQ/MSN...途徑告訴給其他人。
; 2- 包含有效sid的URL可能會被儲存在公用電腦上。
; 3- 使用者可能儲存帶有固定不變sid的URL在他們的收藏夾或者瀏覽歷史紀錄裡面。
; 基於URL的會話管理總是比基於Cookie的會話管理有更多的風險,所以應當禁用。

session.bug_compat_42 = On
session.bug_compat_warn = On
; PHP4.2之前的版本有一個未註明的"BUG":
; 即使在register_globals=Off的情況下也允許初始化全域性session變數,
; 如果你在PHP4.3之後的版本中使用這個特性,會顯示一條警告。
; 建議關閉該"BUG"並顯示警告。

session.hash_function = 0
; 生成SID的雜湊演算法。SHA-1的安全性更高一些
; 0: MD5   (128 bits)
; 1: SHA-1 (160 bits)
; 建議使用SHA-1。

session.hash_bits_per_character = 4
; 指定在SID字串中的每個字元內儲存多少bit,
; 這些二進位制數是hash函式的運算結果。
; 4: 0-9, a-f
; 5: 0-9, a-v
; 6: 0-9, a-z, A-Z, "-", ","
; 建議值為 5

url_rewriter.tags = "a=href,area=href,frame=src,form=,fieldset="
; 此指令屬於PHP核心部分,並不屬於Session模組。
; 指定重寫哪些HTML標籤來包含SID(僅當session.use_trans_sid=On時有效)
; form和fieldset比較特殊:
; 如果你包含他們,URL重寫器將新增一個隱藏的"<input>",它包含了本應當額外追加到URL上的資訊。
; 如果要符合XHTML標準,請去掉form項並在表單欄位前後加上<fieldset>標記。
; 注意:所有合法的項都需要一個等號(即使後面沒有值)。
; 推薦值為"a=href,area=href,frame=src,input=src,form=fakeentry"。

;;;;;;;;;;;;;;;;
;;  其他模組  ;;
;;;;;;;;;;;;;;;;

[APC]
; Alternative PHP Cache 用於快取和優化PHP中間程式碼

apc.cache_by_default = On
;SYS
; 是否預設對所有檔案啟用緩衝。
; 若設為Off並與以加號開頭的apc.filters指令一起用,則檔案僅在匹配過濾器時才被快取。

apc.enable_cli = Off
;SYS
; 是否為CLI版本啟用APC功能,僅用於測試和除錯目的才打開此指令。

apc.enabled = On
; 是否啟用APC,如果APC被靜態編譯進PHP又想禁用它,這是唯一的辦法。

apc.file_update_protection = 2
;SYS
; 當你在一個執行中的伺服器上修改檔案時,你應當執行原子操作。
; 也就是先寫進一個臨時檔案,然後將該檔案重新命名(mv)到最終的名字。
; 文字編輯器以及 cp, tar 等程式卻並不是這樣操作的,從而導致有可能緩衝了殘缺的檔案。
; 預設值 2 表示在訪問檔案時如果發現修改時間距離訪問時間小於 2 秒則不做緩衝。
; 那個不幸的訪問者可能得到殘缺的內容,但是這種壞影響卻不會通過快取擴大化。
; 如果你能確保所有的更新操作都是原子操作,那麼可以用 0 關閉此特性。
; 如果你的系統由於大量的IO操作導致更新緩慢,你就需要增大此值。

apc.filters =
;SYS
; 一個以逗號分隔的POSIX擴充套件正則表示式列表。
; 如果原始檔名與任意一個模式匹配,則該檔案不被快取。
; 注意,用來匹配的檔名是傳遞給include/require的檔名,而不是絕對路徑。
; 如果正則表示式的第一個字元是"+"則意味著任何匹配表示式的檔案會被快取,
; 如果第一個字元是"-"則任何匹配項都不會被快取。"-"是預設值,可以省略掉。

apc.ttl = 0
;SYS
; 快取條目在緩衝區中允許逗留的秒數。0 表示永不超時。建議值為7200~36000。
; 設為 0 意味著緩衝區有可能被舊的快取條目填滿,從而導致無法快取新條目。

apc.user_ttl = 0
;SYS
; 類似於apc.ttl,只是針對每個使用者而言,建議值為7200~36000。
; 設為 0 意味著緩衝區有可能被舊的快取條目填滿,從而導致無法快取新條目。

apc.gc_ttl = 3600
;SYS
; 快取條目在垃圾回收表中能夠存在的秒數。
; 此值提供了一個安全措施,即使一個伺服器程序在執行快取的原始檔時崩潰,
; 而且該原始檔已經被修改,為舊版本分配的記憶體也不會被回收,直到達到此TTL值為止。
; 設為零將禁用此特性。

apc.include_once_override = Off
;SYS
; 關於該指令目前尚無說明文件,參見:[url]http://pecl.php.net/bugs/bug.php?id=8754[/url]
; 請保持為Off,否則可能導致意想不到的結果。

apc.max_file_size = 1M
;SYS
; 禁止大於此尺寸的檔案被快取。

apc.mmap_file_mask =
;SYS
; 如果使用--enable-mmap(預設啟用)為APC編譯了MMAP支援,
; 這裡的值就是傳遞給mmap模組的mktemp風格的檔案掩碼(建議值為"/tmp/apc.XXXXXX")。
; 該掩碼用於決定記憶體對映區域是否要被file-backed或者shared memory backed。
; 對於直接的file-backed記憶體對映,要設定成"/tmp/apc.XXXXXX"的樣子(恰好6個X)。
; 要使用POSIX風格的shm_open/mmap就需要設定成"/apc.shm.XXXXXX"的樣子。
; 你還可以設為"/dev/zero"來為匿名對映的記憶體使用核心的"/dev/zero"介面。
; 不定義此指令則表示強制使用匿名對映。

apc.num_files_hint = 1000
;SYS
; Web伺服器上可能被包含或被請求的不同原始檔的大致數量(建議值為1024~4096)。
; 如果你不能確定,則設為 0 ;此設定主要用於擁有數千個原始檔的站點。

apc.optimization = 0
; 優化級別(建議值為 0 ) 。
; 正整數值表示啟用優化器,值越高則使用越激進的優化。
; 更高的值可能有非常有限的速度提升,但目前尚在試驗中。

apc.report_autofilter = Off
;SYS
; 是否記錄所有由於early/late binding原因而自動未被快取的指令碼。

apc.shm_segments = 1
;SYS
; 為編譯器緩衝區分配的共享記憶體塊數量(建議值為1)。
; 如果APC耗盡了共享記憶體,並且已將apc.shm_size指令設為系統允許的最大值,
; 你可以嘗試增大此值。

apc.shm_size = 30
;SYS
; 每個共享記憶體塊的大小(以MB為單位,建議值為128~256)。
; 有些系統(包括大多數BSD變種)預設的共享記憶體塊大小非常少。

apc.slam_defense = 0
;SYS(反對使用該指令,建議該用apc.write_lock指令)
; 在非常繁忙的伺服器上,無論是啟動服務還是修改檔案,
; 都可能由於多個程序企圖同時快取一個檔案而導致競爭條件。
; 這個指令用於設定程序在處理未被快取的檔案時跳過快取步驟的百分率。
; 比如設為75表示在遇到未被快取的檔案時有75%的概率不進行快取,從而減少碰撞機率。
; 鼓勵設為 0 來禁用這個特性。

apc.stat = On
;SYS
; 是否啟用指令碼更新檢查。
; 改變這個指令值要非常小心。
; 預設值 On 表示APC在每次請求指令碼時都檢查指令碼是否被更新,
; 如果被更新則自動重新編譯和快取編譯後的內容。但這樣做對效能有不利影響。
; 如果設為 Off 則表示不進行檢查,從而使效能得到大幅提高。
; 但是為了使更新的內容生效,你必須重啟Web伺服器。
; 這個指令對於include/require的檔案同樣有效。但是需要注意的是,
; 如果你使用的是相對路徑,APC就必須在每一次include/require時都進行檢查以定位檔案。
; 而使用絕對路徑則可以跳過檢查,所以鼓勵你使用絕對路徑進行include/require操作。

apc.user_entries_hint = 100
;SYS
; 類似於num_files_hint指令,只是針對每個不同使用者而言。
; 如果你不能確定,則設為 0 。

apc.write_lock = On
;SYS
; 是否啟用寫入鎖。
; 在非常繁忙的伺服器上,無論是啟動服務還是修改檔案,
; 都可能由於多個程序企圖同時快取一個檔案而導致競爭條件。
; 啟用該指令可以避免競爭條件的出現。

apc.rfc1867 = Off
;SYS
; 開啟該指令後,對於每個恰好在file欄位之前含有APC_UPLOAD_PROGRESS欄位的上傳檔案,
; APC都將自動建立一個upload_<key>的使用者快取條目(<key>就是APC_UPLOAD_PROGRESS欄位值)。

[bcmath]
; 為任意精度數學計算提供了二進位制計算器(Binary Calculator),
; 它支援任意大小和精度的數字,以字串形式描述。

bcmath.scale = 0
; 用於所有bcmath函式的10十進位制數的個數



[GD]

gd.jpeg_ignore_warning = Off
; 是否忽略jpeg解碼器的警告資訊(比如無法識別圖片格式)。
; 有image/jpeg與image/pjpeg兩種MIME型別,GD庫只能識別前一種傳統格式。
; 參見:[url]http://twpug.net/modules/newbb/viewtopic.php?topic_id=1867&forum=14[/url]
; [url]http://bugs.php.net/bug.php?id=29878[/url]
; [url]http://www.faqs.org/faqs/jpeg-faq/part1/section-11.html[/url]



[Filter]
; 對來源不可靠的資料進行確認和過濾,本擴充套件模組是實驗性的。

filter.default = "unsafe_raw"
; 使用指定的過濾器過濾$_GET,$_POST,$_COOKIE,$_REQUEST資料,
; 原始資料可以通過input_get()函式訪問。
; "unsafe_raw"表示不做任何過濾。

filter.default_flags =
; filter_data()函式的預設標誌。



[mbstring]
;多位元組字串模組支援

mbstring.language = "neutral"
; 預設的NLS(本地語言設定),可設定值如下:
; 預設值"neutral"表示中立,相當於未知。
; "zh-cn"或"Simplified Chinese"表示簡體中文
; "zh-tw"或"Traditional Chinese"表示繁體中文
; "uni"或"universal"表示Unicode
; 該指令自動定義了隨後的mbstring.internal_encoding指令預設值,
; 並且mbstring.internal_encoding指令必須放置在該指令之後。

mbstring.internal_encoding =
; 本指令必須放置在mbstring.language指令之後。
; 預設的內部編碼,未設定時取決於mbstring.language指令的值:
; "neutral" 對應 "ISO-8859-1"
; "zh-cn"   對應 "EUC-CN" (等價於"GB2312")
; "zh-tw"   對應 "EUC-TW" (等價於"BIG5")
; "uni"     對應 "UTF-8"
; 提醒:對於簡體中文還可以強制設定為"CP936" (等價於"GBK")
; 注意:可能 SJIS, BIG5, GBK 不適合作為內部編碼,不過"GB2312"肯定沒問題。
; 建議手動強制指定

mbstring.encoding_translation = Off
; 是否對進入的HTTP請求按照mbstring.internal_encoding指令進行透明的編碼轉換,
; 也就是自動檢測輸入字元的編碼並將其透明的轉化為內部編碼。
; 可移植的庫或者程式千萬不要依賴於自動編碼轉換。

mbstring.http_input = "pass"
; 預設的HTTP輸入編碼,"pass"表示跳過(不做轉換)
; "aotu"的含義與mbstring.detect_order指令中的解釋一樣。
; 可以設定為一個單獨的值,也可以設定為一個逗號分隔的列表。

mbstring.http_output = "pass"
; 預設的HTTP輸出編碼,"pass"表示跳過(不做轉換)
; "aotu"的含義與mbstring.detect_order指令中的解釋一樣。
; 可以設定為一個單獨的值,也可以設定為一個逗號分隔的列表。
; 必須將output_handler指令設定為"mb_output_handler"才可以。

mbstring.detect_order =
; 預設的編碼檢測順序,"pass"表示跳過(不做轉換)。
; 預設值("auto")隨mbstring.language指令的不同而變化:
; "neutral"和"universal" 對應 "ASCII, UTF-8"
; "Simplified Chinese"   對應 "ASCII, UTF-8, EUC-CN, CP936"
; "Traditional Chinese"  對應 "ASCII, UTF-8, EUC-TW, BIG-5"
; 建議在可控環境下手動強制指定一個單一值

mbstring.func_overload = 0
;SYS
; 自動使用 mb_* 函式過載相應的單位元組字串函式。
; 比如:mail(), ereg() 將被自動替換為mb_send_mail(), mb_ereg()
; 可用 0,1,2,4 進行位組合。比如7表示替換所有。具體替換說明如下:
; 0: 無替換
; 1: mail() → mb_send_mail()
; 2: strlen() → mb_strlen() ; substr() → mb_substr()
;    strpos() → mb_strpos() ; strrpos() → mb_strrpos()
;    strtolower() → mb_strtolower() ; strtoupper() → mb_strtoupper()
;    substr_count() → mb_substr_count()
; 4: ereg() → mb_ereg() ; eregi() → mb_eregi()
;    ereg_replace() → mb_ereg_replace() ; eregi_replace() → mb_eregi_replace()
;    split() → mb_split()

mbstring.script_encoding =
; 指令碼所使用的編碼

mbstring.strict_detection = Off
; 是否使用嚴謹的編碼檢測

mbstring.substitute_character =
; 當某個字元無法解碼時,就是用這個字元替代。
; 若設為一個整數則表示對應的Unicode值,不設定任何值表示不顯示這個錯誤字元。
; 建議設為"□"

mbstring.strict_encoding = Off ;預設值未知
; enable strict encoding detection.
; 對於這個指令尚無說明文件(也未出現在phpinfo()的輸出中)



[Mcrypt]
; 一個mcrypt庫的介面,該庫支援許多種塊加密演算法。
; 不建議使用該模組,因為毛病太多,建議在資料庫層進行加密。

mcrypt.algorithms_dir =
; 預設的加密演算法模組所在目錄。通常是"/usr/local/lib/libmcrypt"。
; 目前尚無詳細說明文件,此處的解釋可能是錯誤的。

mcrypt.modes_dir =
; 預設的加密模式模組所在目錄。通常是"/usr/local/lib/libmcrypt"。
; 目前尚無說明文件,此處的解釋可能是錯誤的。



[Memcache]
; 一個高效能的分散式的記憶體物件快取系統,通過在記憶體裡維護一個統一的巨大的hash表,
; 它能夠用來儲存各種格式的資料,包括影象、視訊、檔案以及資料庫檢索的結果等。

memcache.allow_failover = On
; 是否在遇到錯誤時透明地向其他伺服器進行故障轉移。

memcache.chunk_size = 8192
; 資料將按照此值設定的塊大小進行轉移。此值越小所需的額外網路傳輸越多。
; 如果發現無法解釋的速度降低,可以嘗試將此值增加到32768。

memcache.default_port = 11211
; 連線到memcached伺服器時使用的預設TCP埠。

memcache.max_failover_attempts = 20
; ????



[Zlib] ;==========Zlib模組============[預設值已核對]
; 該模組允許PHP透明的讀取和寫入gzip(.gz)壓縮檔案。

zlib.output_compression = Off
; 是否使用zlib庫透明地壓縮指令碼輸出結果。
; 該指令的值可以設定為:Off、On、位元組數(壓縮緩衝區大小,預設為4096)。
; 如果開啟該指令,當瀏覽器傳送"Accept-Encoding: gzip(deflate)"頭時,
; "Content-Encoding: gzip(deflate)"和"Vary: Accept-Encoding"頭將加入到應答頭當中。
; 你可以在應答頭輸出之前用ini_set()函式在指令碼中啟用或禁止這個特性。
; 如果輸出一個"Content-Type: image/??"這樣的應答頭,壓縮將不會啟用(為了防止Netscape的bug)。
; 你可以在輸出"Content-Type: image/??"之後使用"ini_set('zlib.output_compression', 'On')"重新開啟這個特性。
; 注意1: 壓縮率會受壓縮緩衝區大小的影響,如果你想得到更好的壓縮質量,請指定一個較大的壓縮緩衝區。
; 注意2: 如果啟用了zlib輸出壓縮,output_handler指令必須為空,同時必須設定zlib.output_handler指令的值。

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

zlib.output_handler =
; 在開啟zlib.output_compression指令的情況下,你只能在這裡指定輸出處理器。
; 可以使用的處理器有"zlib.inflate"(解壓)或"zlib.deflate"(壓縮)。
; 如果啟用該指令則必須將output_handler指令設為空。




[dbx] ;==========dbx模組指令==============[預設值已核對]
; 一個數據庫抽象層,為不同資料庫提供了統一的介面。目前支援:
; FrontBase,SQL Server,MySQL,ODBC,PostgreSQL,Sybase-CT,Oracle 8,SQLite

dbx.colnames_case = "unchanged"
;SYS
; 欄位名可以按照"unchanged"或"uppercase","lowercase"方式返回。



[MySQLi]
; MySQLi模組只能與4.1.3以上版本的MySQL一起工作。

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

mysqli.default_port = 3306
; mysqli_connect()連線到MySQL資料庫時使用的預設TCP埠。
; 如果沒有在這裡指定預設值,將按如下順序尋找:
; (1)$MYSQL_TCP_PORT環境變數
; (2)/etc/services檔案中的mysql-tcp項(unix)
; (3)編譯時指定的MYSQL_PORT常量
; 注意:Win32下,只使用MYSQL_PORT常量。

mysqli.default_socket =
; mysqli_connect()連線到本機MySQL伺服器時所使用的預設套接字名。
; 若未指定則使用內建的MqSQL預設值。

mysqli.default_host =
; mysqli_connect()連線到MySQL資料庫時使用的預設主機。安全模式下無效。

mysqli.default_user =
; mysqli_connect()連線到MySQL資料庫時使用的預設使用者名稱。安全模式下無效。

mysqli.default_pw =
; mysqli_connect()連線到MySQL資料庫時使用的預設密碼。安全模式下無效。
; 在配置檔案中儲存密碼是個壞主意,任何使用PHP許可權的使用者都可以執行
; 'echo cfg_get_var("mysql.default_password")'來顯示密碼!
; 而且任何對該配置檔案有讀許可權的使用者也能看到密碼。

mysqli.reconnect = Off
;SYS
; 是否允許重新連線



[PostgresSQL]
;PostgresSQL模組建議與8.0以上版本一起工作。

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

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

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

pgsql.auto_reset_persistent = Off
;SYS
; 自動復位在pg_pconnect()上中斷了的持久連線,檢測需要一些額外開銷。

pgsql.ignore_notice = Off
; 是否忽略PostgreSQL後端的提醒訊息。
; 記錄後端的提醒訊息需要一些很小的額外開銷。

pgsql.log_notice = Off
; 是否在日誌中記錄PostgreSQL後端的提醒訊息。
; 僅在pgsql.ignore_notice=Off時,才可以記錄。

相關推薦

php.ini 檔案配置

;;;;;;;;;;;;;;;; ;; 作者:金步國 ;; 日期:2006.11.12 ;;;;;;;;;;;;;;;; ;;  版權宣告  ;; ;;;;;;;;;;;;;;;; ; 本文作者是一位自由軟體愛好者,所以本文雖然不是軟體,但是本著 GPL 的精神釋出。 ; 任何人都可以自由使用、轉載、複製和

nginx使用手冊--nginx.conf檔案配置

#執行使用者 user nobody; #啟動程序,通常設定成和cpu的數量相等 worker_processes 1; #全域性錯誤日誌及PID檔案 #error_log logs/error.log; #error_log logs/error.log notice; #error_log

Django模版中載入靜態檔案配置

1、settings.INSTALLED_APPS下新增:django.contrib.staticfiles 2、settings.py下新增:STATIC_URL = '/static/' 3、

LNMP架構四(php-fpm的配置

四、php-fpm的配置詳解      和LAMP不同的是,在LNMP架構中,php-fpm作為獨立的一個服務存在,既然是獨立服務,那麼它必然有自己的配置檔案。php-fpm的配置檔案為/usr/local/php-fpm/etc/php-fpm.conf,它同

kaldi中執行thchs30流程,檔案配置

  本人是kaldi新手,前些階段運行了kaldi中中文最難的樣例aishell,終於跑成功了,修改了好多路徑、請教了好多大神,在此感謝,如果有想了解詳細的執行過程可以和鄙人交流。  由於要做線上識別,網上大多數都是關於thchs30的線上識別,aishell缺少線上識別的教

Mybatis最入門---Mapper檔案配置(上)

[一步是咫尺,一步即天涯] 前文中,我們演示了最基本的HelloWorld程式,下面我們將介紹我們上面各項配置檔案的詳細解釋,以及我們正式開發過程中,各種配置的注意事項等。 慣例,先來看看我們的準備工作有: a.作業系統 :win7 x64 b.基本軟體:MySQ

Web.config檔案配置

一、認識Web.config檔案 Web.config檔案是一個XML文字檔案,它用來儲存 ASP.NET Web 應用程式的配置資訊(如最常用的設定ASP.NET Web 應用程式的身份驗證方式),它可以出現在應用程式的每一個目錄中。當你通過VB。NET新建一個Web應用程式後,預設情況下會在

Tomcat工作原理之檔案配置

一、Tomcat目錄|---bin:存放啟動和關閉tomcat指令碼;|---conf:存放不同的配置檔案(server.xml和web.xml);|---doc:存放Tomcat文件;|---lib/japser/common:存放Tomcat執行需要的庫檔案(JARS);

Mapper XML檔案 配置

引數(Parameters)前面的所有語句中你所見到的都是簡單引數的例子,實際上引數是 MyBatis 非常強大的元素,對於簡單的做法,大概 90% 的情況引數都很少,比如:<selectid="selectUsers"resultType="User"> select id, usernam

Spring MVC的web.xml檔案配置

原文地址:http://blog.csdn.net/u010796790/article/details/52098258 1、spring 框架解決字串編碼問題:過濾器 CharacterEncodingFilter(filter-name)  2、在web.xml配置監

Mybatis最入門---Mapper檔案配置(下)

[一步是咫尺,一步即天涯] 上文我們詳細解釋了HelloWorld工程中的配置項,本文,我們再來介紹一些更加基礎,靈活的配置項。本文,我們先不演示具體的工程,後續的文章中會按照實際應用來配置相關的

nginx.conf 檔案配置

3 nginx.conf檔案配置詳解 #user nobody; worker_processes 1; //指定工作程序的個數,預設為1,可以進行修改,一般為 CPU數*核數 #error_log logs/error.l

LAMP(php動態擴展模塊,httpd的rewrite,php錯誤日誌,php.ini配置

php動態擴展模塊 httpd的rewrite php錯誤日誌 php.ini配置詳解 一、php動態擴展模塊比如我們需要用到php一個模塊,恰好他沒有這個模塊。我們需要編一個.so出來?/usr/local/php/bin/php -m //查看模塊 ? 下面安裝一個redis的模塊 ? c

php.ini 配置

擴展 不同數據庫 style 站點 狀態碼 查詢 cor ip地址 的人 這個文件必須命名為‘‘php.ini‘‘並放置在httpd.conf中的PHPIniDir指令指定的目錄中。最新版本的php.ini可以在下面兩個位置查看:http://cvs.php.net/vie

MySQL8.0.13(.zip)安裝(重在my.ini檔案配置)[2019親測] 無法啟動問題

MySQL8.0.13(.zip)安裝以及服務無法啟動(重在my.ini檔案配置)和初始密碼 2019.1.12.13:47分 週五下午閒著無聊,想倒騰一下怎麼把資料庫裝到別的盤,因為在C盤太不順眼了,個人習慣! 接下來幾下就輕鬆解除安裝了,(原來的版本是MySQL5.7.24) 重灌就想著

本地Mysql5.7主從(Master/Slave)安裝,my.ini檔案配置

找到Master mysql的位置 C:\Program Files\MySQL\MySQL Server 5.7 複製資料夾到你所需要的目錄,我是在D:\Mysql separation\MySQL

MySQL配置文件mysql.ini參數、MySQL性能優化

說明 select 磁盤 addition sock 硬盤 並發連接 查詢緩存 show my.ini(Linux系統下是my.cnf),當mysql服務器啟動時它會讀取這個文件,設置相關的運行環境參數。 my.ini分為兩塊:Client Section和Serv

php-fpm 啟動參數及重要配置

oca 自己的 通過 當前 mys eve ash key bug 約定幾個目錄 /usr/local/php/sbin/php-fpm /usr/local/php/etc/php-fpm.conf /usr/local/php/etc/php.ini 一,php-f

Hue的全局配置文件hue.ini(圖文

var mapping tcl href ron Oz httpfs restrict FQ Hue版本:hue-3.9.0-cdh5.5.4 需要編譯才能使用(聯網) 說給大家的話:大家電腦的配置好的話,一定要安裝cloudera manager。畢竟是一家人的。同時,

[轉載]php安裝Zend Opcache(Zend 加速器)擴展及配置

check hpu min The buffer ctr 提升 pig acc [轉載]php安裝Zend Opcache(Zend 加速器)擴展及配置詳解本文 轉載自IT論壇 php安裝Zend Opcache擴展 wget http://museum.php.net/p