;;;;;;;;;;;;;;
;; 簡介 ;;
;;;;;;;;;;;;;;
; 本文並不是是對英文版 php.ini 的簡單翻譯,而是參考了衆多資料之後,結合本身的理解,增長了許多內容,
; 包括在原有 php.ini 基礎上增長了一些實用模塊的配置說明,同時對文件內容的安排進行了調整。
; 因爲做者不喜歡 no-free 的玩意兒,因此刪除了除 MySQL 和 PostgreSQL 之外的其餘數據庫模塊配置選項。php
;;;;;;;;;;;;;;;;;
;; 關於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=cohtml
;;;;;;;;;;;;
;; 語法 ;;
;;;;;;;;;;;;
; 該文件的語法很是簡單。空白字符和以分號開始的行被簡單地忽略。
; 章節標題(例如: [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擴展)中的常量,
; 那麼你只能在加載這些動態擴展的指令行以後使用這些常量。mysql
;;;;;;;;;;;;;;;;;;
;; 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中。git
;==========================================================================================
;;=====================================配置指令詳解========================================
;==========================================================================================
; 如下每一個指令的設定值都與 PHP-5.2 內建的默認值相同。
; 也就是說,若是'php.ini'不存在,或者你刪掉了某些行,默認值與之相同。web
;;;;;;;;;;;;;;
;; Apache ;;
;;;;;;;;;;;;;;
[Apache]
; 僅在將PHP做爲Apache模塊時纔有效。正則表達式
engine = On
; 是否啓用PHP解析引擎。
; 能夠在httpd.conf中基於目錄或者虛擬主機來打開或者關閉PHP解析引擎。算法
last_modified = Off
; 是否在Last-Modified應答頭中放置該PHP腳本的最後修改時間。sql
xbithack = Off
; 是否無論文件結尾是什麼,都做爲PHP可執行位組來解析。shell
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 = ;"" ; 用於錯誤信息前輸出的字符串 error_append_string = ;""
; 用於錯誤信息後輸出的字符串
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數據超出限制,那麼___FCKpd___0
POST和___FCKpd___0
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 )。
; 這裏的設置將自動影響 ___FCKpd___0
GEST ___FCKpd___0
POST ___FCKpd___0
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 文件)。
; 只要能被接受的東西就能正常工做。 [PHP-Core-Langue] short_open_tag = On ; 是否容許使用"< ? ?>"短標識。不然必須使用"< ?php ?>"長標識。 ; 除非你的php程序僅在受控環境下運行,且只供本身使用,不然請不要使用短標記。 ; 若是要和XML結合使用PHP,能夠選擇關閉此選項以方便直接嵌入"< ?xml ... ?>", ; 否則你必須用PHP來輸出:< ? echo ' ; 本指令也會影響到縮寫形式"< ?=",它和"",這也會影響到縮寫形式"< %="。 ; PHP6中將刪除此指令 arg_separator.output = "&" ; PHP所產生的URL中用來分隔參數的分隔符。 ; 另外還能夠用"&"或","等等。 arg_separator.input = "&" ; PHP解析URL中的變量時使用的分隔符列表。 ; 字符串中的每個字符都會被看成分割符。 ; 另外還能夠用",&"等等。 allow_call_time_pass_reference = On ; 是否強迫在函數調用時按引用傳遞參數(每次使用此特性都會收到一條警告)。 ; php反對這種作法,並在未來的版本里再也不支持,由於它影響到了代碼的整潔。 ; 鼓勵的方法是在函數聲明裏明確指定哪些參數按引用傳遞。 ; 咱們鼓勵你關閉這一選項,以保證你的腳本在未來版本的語言裏仍能正常工做。 auto_globals_jit = On ; 是否僅在使用到___FCKpd___0 SERVER和___FCKpd___0 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 變量註冊爲全局變量。 ; 打開該指令可能會致使嚴重的安全問題,除非你的腳本通過很是仔細的檢查。 ; 推薦使用預約義的超全局變量:___FCKpd___0 ENV, ___FCKpd___0 GET, ___FCKpd___0 POST, ___FCKpd___0 COOKIE, ___FCKpd___0 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 = ;"john@doe.com" ; 定義匿名ftp的密碼(一個email地址) ;;;;;;;;;;;;;;;;;; ;; 近核心模塊 ;; ;;;;;;;;;;;;;;;;;; [Pcre] ;Perl兼容正則表達式模塊 pcre.backtrack_limit = 100000 ; PCRE的最大回溯(backtracking)步數。 pcre.recursion_limit = 100000 ; PCRE的最大遞歸(recursion)深度。 ; 若是你將該值設的很是高,將可能耗盡進程的棧空間,致使PHP崩潰。 [Session] ; 除非使用session_register()或___FCKpd___0 SESSION註冊了一個變量。 ; 不然無論是否使用了session_start(),都不會自動添加任何session記錄。 ; 包括resource變量或有循環引用的對象包含指向自身的引用的對象,不能保存在會話中。 ; register_globals指令會影響到會話變量的存儲和恢復。 session.save_handler = "files" ; 存儲和檢索與會話關聯的數據的處理器名字。默認爲文件("files")。 ; 若是想要使用自定義的處理器(如基於數據庫的處理器),可用"user"。 ; 有一個使用PostgreSQL的處理器:http://sourceforge.net/projects/phpform-ext/ 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重寫器將添加一個隱藏的"",它包含了本應當額外追加到URL上的信息。 ; 若是要符合XHTML標準,請去掉form項並在表單字段先後加上