php.ini詳解

來源:互聯網
上載者:User
文法
  該檔案的文法非常簡單。空白字元和以分號開始的行被簡單地忽略。
  章區段標頭(例如: [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 表示關閉。
  一個Null 字元串可以用在等號後不寫任何東西表示,或者用 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 = ;""
  用於錯誤資訊前輸出的字串
  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資料超出限制,那麼$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()函數得到的資料,等等---www.bianceng.cn
  若將本指令與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程式僅在受控環境下運行,且只供自己使用,否則請不要使用短標記。
  如果要和XML結合使用PHP,可以選擇關閉此選項以方便直接嵌入"",不然你必須用PHP來輸出:
  本指令也會影響到縮寫形式"   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()終止,那麼自動尾碼將不會發生。---www.bianceng.cn
  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)作為項目分隔字元的人遭遇不相容行為。
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相容Regex模組
  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的處理器:http://sourceforge.net/projects/phpform-ext/
  session.save_path = "/tmp"
  傳遞給儲存處理器的參數。對於files處理器,此值是建立會話資料檔案的路徑。
  Windows下預設為臨時檔案夾路徑。
  你可以使用"N;[MODE;]/path"這樣模式定義該路徑(N是一個整數)。
  N表示使用N層深度的子目錄,而不是將所有資料檔案都儲存在一個目錄下。
  [MODE;]可選,必須使用8進位數,預設600(=384),表示每個目錄下最多儲存的會話檔案數量。
  這是一個提高大量會話效能的好主意。
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.