2011年8月28日 星期日

httpd.conf 中文說明

以下以下 httpd.conf 中文翻譯引用於 http://idobest.pixnet.net/blog/post/22040519-%5B%E8%BD%89%E8%B2%BC%5Dapache%E7%9A%84httpd.conf%E4%B8%AD%E6%96%87%E8%AA%AA%E6%98%8E


#
# 基於 NCSA 服務的設定檔。
#
#這是Apache伺服器主要設定檔。
#它包含伺服器的影響伺服器運行的設定指令。
#參見<URL>以取得關於這些指令的詳細資訊
#
#不要只是簡單的閱讀這些指令資訊而不去理解它。
#這裡只是做了簡單的說明,如果你沒有參考線上檔,你就會被警告。
#
#這些設定指令被分為下面三個部分:
#1. 控制整個Apache伺服器行為的部分(即全局環境變數)
#2. 定義主要或者預設服務參數的指令,也為所有虛擬主機提供預設的設定參數
#3. 虛擬主機的設定參數
#
#設定和日誌檔案名:如果你指定的檔案名以「/」開始(win32下以「dirver:/」),
#伺服器將使用絕對路徑,如果檔案名不是以「/」開始的,那麼它將把ServerRoot
#的值附加在檔案名的前面,例如,對「logs/foo.log",如果ServerRoot的值
#為「/usr/local/apache2」,則該文件應為「/usr/local/apache2/logs/foo.log」
#
##第一區:全局環境參數
#
#這裡設定的參數將影響整個Apache伺服器的行為;
#例如Apache能夠處理的併發連線的數量等。
#
#ServerRoot:指出伺服器保存其設定、出錯和日誌檔等的根目錄。
#
#注意!如果你想要將它指定為NFS或其他網路上的位置,
#請一定要去閱讀與LockFile有關的文檔(可能在
#<URL>)。
#這將會使你自己也能解決很多問題。
#
#路徑的結尾不要添加斜線。
#
ServerRoot "/usr/loacl/apache2"
#
#串列訪問的鎖檔必須保存在本地磁片上
#
<IfModule>
<IfModule>
#LockFile logs/accept.lock
</IfModule>
</IfModule>

#ScoreBoardFile:用來保存內部服務進程資訊的檔。
#如果未指明(預設),記分板(scoreboard)將被保存在一個匿名的共用記憶體段中,
#並且它不能被第三方軟體所使用。
#如果指定了,要確保不能使用兩個Apache使用同一個記分板檔,
#這個記分板檔必須保存在本地磁片上。
#
<IfModule>
<IfModule>
#ScoreBoardFile logs/apache_runtime_status
<IfModule>
<IfModule>

#
#PidFile:記錄伺服器啟動進程號的檔。
#
<IfModule>
PidFile logs/httpd.pid
</IfModule>

#
#Timeout:接收和發送前超時秒數
#
Timeout 300

#
#KeepAlive:是否允許穩固的連接(每個連接有多個連線),
#設為"Off"則停用。
#
KeepAlive On

#
#MaxKeepAliveRequests:在穩固連接期間允許的最大連線數,
#設為0表示無限制接入。
#我們推薦你將其設為一個較大的值,以便提高性能
MaxKeepAliveRequests 100

#
#KeepAliveTimeout:在同一個連接上從同一台客戶上接收連線的秒數
#
KeepAliveTimeout 15

##
##Server-Pool大小設定(針對MPM的)
##

# prefork MPM
# StartServers:啟動時伺服器啟動的進程數
# MinSpareServers:保有的備用進程的最小數目
# MaxSpareServers:保有的備用進程的最大數目
# MaxClients:伺服器允許啟動的最大進程數
# MaxRequestsPerChild:一個服務進程允許的最大連線數
<IfModule>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestPerChild 0
</IfModule>

# worker MPM
# StartServers:伺服器啟動時的服務進程數目
# MaxClients:允許同時連接的最大用戶數目
# MinSpareThreads:保有的最小工作線程數目
# MaxSpareThreads:允許保有的最大工作線程數目
# ThreadsPerChild:每個服務進程中的工作線程常數
# MaxRequestsPerChild:服務進程中允許的最大連線數目
<IfModule>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>

# perchild MPM
# NumServers:服務進程數量
# StartThreads:每個服務進程中的起始線程數量
# MinSpareThreads:保有的最小線程數量
# MaxSpareThreads:保有的最大線程數量
# MaxThreadsPerChild:每個服務進程允許的最大線程數
# MaxRequestsPerChild:每個服務進程允許連接的最大數量
<IfModule>
NumServers 5
StartThreads 5
MinSpareThreads 5
MaxSpareThreads 10
MaxThreadsPerChild 20
MaxRequestsPerChild 0
</IfModule>

# WinNT MPM
# ThreadsPerChild:服務進程中工作線程常數
# MaxRequestsPerChild:服務進程允許的最大連線數
<IfModule>
ThreadsPerChild 250
MaxRequestsPerChild 0
</IfModule>

# BeOS MPM
# StartThreads:伺服器啟動時啟動的線程數
# MaxClients:可以啟動的最大線程數(一個線程等於一個用戶)
# MaxRequestsPerThread:每個線程允許的最大連線數
<IfModule>
StartThreads 10
MaxClients 50
MaxRequestsPerThread 10000
</IfModule>

# NetWare MPM
# ThreadStachSize:為每個工作線程分配的堆疊尺寸
# StartThreads:伺服器啟動時啟動的線程數
# MinSpareThreads:用於處理實發連線的空閒線程數
# MaxSpareThreads:空閒線程的最大數量
# MaxThreads:在同一時間活動的最大線程數
# MaxRequestPerChild:一個線程服務連線的最大數量,
# 推薦將其設定為0,以實現無限制的接入
<IfModule>
ThreadStackSize 65536
StartThreads 250
MinSpareThreads 25
MaxSpareThreads 250
MaxThreads 1000
MaxRequestPerChild 0
</IfModule>

# OS/2 MPM
# StartServers:啟動的服務進程數量
# MinSpareThreads:每個進程允許的最小空閒線程
# MaxSpareThreads:每個進程允許的最大空閒線程
# MaxRequestsPerChild:每個服務進程允許的最大連接數
<IfModule>
StartServers 2
MinSpareThreads 5
MaxSpareThreads 10
MaxRequestsPerChild 0
</IfModule>

#
# Listen:允許你綁定Apache服務到指定的IP位址和埠上,以取代預設值
# 參見<VirtualHost>指令
# 使用如下命令使Apache只在指定的IP位址上監聽,
# 以防止它在IP地址0.0.0.0上監聽
#
# Listen 12.34.56.78:80

Listen 80

#
# 動態共用支援(DSO)
#
# 為了能夠使用那些以DSO模式編譯的模組中的函數,你必須有相應的「LoadModule」行,
# 因此,在這裡包含了這些指令,以便能在使用它之前啟動。
# 那些靜態編譯的模組不需要在這裡列出 (即以「httpd -l」列出的模組)
#
# 示例:
# LoadModule foo_module modules/mod_foo.so
#

#
# ExtendedStatus:當調用「server-status」時,控制Apache是產生「全」狀態
# 資訊(ExtendedStatus On),還是產生基本資訊(ExtendedStatus Off)。
# 預設為off
#
# ExtendedStatus On

### 第二區:「主」服務設定
#
# 這一區建立被 「主」 伺服器用的指令值,以回應那些不被 <VirtualHost>
# 定義處理的任何連線。
# 這些數值也提供預設值給後面定義的<VirtualHost>容器。
# 如果<VirtualHost>中有定義,那麼這裡定義的指令值將被
# <VirtualHost>中的定義所覆蓋。
#

<IfModule>
<IfModule>
#
# 如果你想使httpd以另外的用戶或組來運行,你必須在開始時以root方式啟動
# 然後再將它切換為你想要使用的用戶或組。
#
# User/Group:運行httpd的用戶和組
# 在SCO (ODT3)上使用「User nouser」和「Group nogroup」
# 在HPUX上,你可能不能以nobody身份使用共用記憶體,建議創建一個www用戶。
# 注意一些核心(kernel)在組ID大於60000時拒絕setgid(Group)或semctl(IPC_SET),
#節在這些系統上不要使用「Group #-1」。
#
User nobody
Group #-1
</IfModule>
</IfModule>

#
# ServerAdmin:你的郵件地址,當發生問題時Apache將向你發出郵件。
# 作為一個出錯文檔,這個位址顯示在server-generated頁上,
# 例如:admin@your-domain.com
#
ServerAdmin admin@your-domain.com

#
# ServerName指定Apache用於識別自身的名字和埠號。
# 通常這個值是自動指定的,但是我們推薦你顯式的指定它以防止啟動時出錯
#
# 如果你為你的主機指定了一個無效的DNS名,server-generated重定向將不能工作。
# 參見UseCanonicalName指令
#
# 如果你的主機沒有註冊DNS名,在這裡鍵入它的IP位址
# 無論如何,你必須使用它的IP位址來提供服務,
# 這裡使用一種容易理解的方式重定向服務
# 阿傑老師註解: 一 定要設,不然網址後一定要加 / 才能連結


ServerName jstudio.idv.tw

#
# UseCanonicalName:決定Apache如何構造URLS和 SERVER_NAME 和 SERVER_PORT 的指令。
# 當設定為 「Off」時,Apache會使用用戶端提供的主機名和埠號。
# 當設定為「On」,Apache會使用ServerName指令的值。
#
UseCanonicalName Off

#
# DocumentRoot:你的文檔的根目錄。預設情況下,所有的連線從這個目錄進行應答。
# 但是可以使用符號鏈結和別名來指向到其他的位置。
# 阿傑老師註解 : 這是網站檔案真正的位置

DocumentRoot "/home/redhat/public_html"

#
# Apache可以存取的每個目錄都可以設定存取許可權(包括它的子目錄)。
#
# 首先,我們設定一個高限制的特徵。

# 這將禁止訪問檔系統所在的目錄,並添加你希望允許訪問的目錄塊。
# 如下所示
<Directory>
Order Deny,Allow
Deny from all
</Directory>

#
# 注意從這裡開始你一定要明確地允許哪些特別的特徵能夠被使用。
# - 所以,如果Apache沒有像你所期待的那樣工作的話,
# 請檢查你是否在下面明確的指定它可用。
#

#
# 這將改變到你設定的DocumentRoot
#
<Directory>

#
# Options:這個指令的值可以是「None」,「All」,或者下列選項的任意組合:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# 注意,「MultiViews」必須被顯式的指定,「Options All」不能為你提供這個特性。
#
# 這個指令既複雜又重要,請參見
#「http://httpd.apache.org/docs-2.0/mod... 的資訊。
#
Options FollowSymLinks

#
# AllowOverride控制那些被放置在.htaccess檔中的指令。
# 它可以是「All」,「None」,或者下列指令的組合:
# Options FileInfo AuthConfig Limit
#
AllowOverride None

#
# 控制誰可以獲得服務。
#
Order allow,deny
Allow from all

</Directory>

#
# UserDir:指定在得到一個~user連線時將會添加到用戶home目錄後的目錄名。
#

UserDir public_html

# 為防止在UserDir指令上的漏洞,對root用戶設定
# 象「./」這樣的UserDir是非常有用的。
# 如果你使用Apache 1.3或以上版本,我們強烈建議你
# 在你的伺服器設定檔中包含下麵的行

UserDir disabled root

#
# 下面是一個使用UserDir指令使一個站點的目錄具有唯讀屬性的示例:
#
# <Directory>
# AllowOverride FileInfo AuthConfig Limit Indexes
# Options MultiViews Indexes SymLinksIfOwnerMatch IncludeNoExec
# <Limit>
# Order allow,deny
# Allow from all
# </Limit>
# <LimitExcept>
# Order deny,allow
# Deny from all
# </LimitExcept>
# </Directory>

#
# DirectoryIndex:定義連線是一個目錄時,Apache向用戶提供服務的檔案名
#
# index.html.var檔(一個類型映像檔)用於提供一個文檔處理列表,
# 出於同樣的目的,也可以使用MultiViews選項,但是它會非常慢。
#
DirectoryIndex index.php index.html index.html.var
#
# AccessFileName:在每個目錄中查詢為目錄提供附加設定指令的檔的檔案名。
# 參見AllowOverride指令。
#
AccessFileName .htaccess

#
# 下面的行防止.htaccess和.htpasswd檔被Web客戶查看。
#
<Files>
Order allow,deny
Deny from all
</Files>

#
# Typeconfig:定義在哪裡查詢mime.types文件。
#
TypeConfig conf/mime.types

#
# DefaultType:定義當不能確定MIME類型時伺服器提供的預設MIME類型。
# 如果你的服務主要包含text或HTML文檔,「text/plain」是一個好的選擇;
# 如果大多是二進位文檔,諸如軟體或圖像,你應使用
# 「application/octer-stream」來防止流覽器象顯示文本那樣顯示二進位檔。
#
DefaultType text/plain

#
# mod_mime_magic允許伺服器從自己定義自己類型的檔中使用不同的線索(hints),
# 這個MIMEMagicFile指令定義hints定義所在的檔。
#
<IfModule>
MIMEMagicFile conf/magic
</IfModule>

#
# HostnameLookups:指定記錄用戶端的名字還是IP位址,例如,本指令為on時
# 記錄主機名,如www.apache.org;為off時記錄IP位址,204.62.129.132。
# 預設值為off,這要比設為on好得多,因為如果設為on則每個用戶端連線都將會
# 至少造成對 nameserver 進行一次查詢。
#
HostnameLookups Off

#
# EnableMMAP:控制是否進行記憶體傾印(如果作業系統支援的話)。
# 預設為on,如果你的伺服器安裝在網路檔系統上(NFS),請關閉它。
# 在一些系統上,關閉它會提升系統性能(與檔系統類型無關);
# 具體情況請參閱http://httpd.apache.org/docs-2.0/mod...tml#enablemmap
#
# EnableMMAP off

#
# EnableSendfile:控制是否使用sendfile kernel支援發送檔
# (如果作業系統支援的話)。預設為on,如果你的伺服器安裝在網路檔系統
# (NFS)上,請你關閉它。
# 參見http://httpd.apache.org/docs-2.0/mod...enablesendfile
#
# EnableSendfile off

#
# ErrorLog:錯誤日誌檔定位。
# 如果你沒有在<VirtualHost>內定義ErrorLog指令,這個虛擬主機的錯誤資訊
# 將記錄在這裡。如果你在那兒定義了ErrorLog,這些錯誤資訊將記錄在你所
# 定義的檔裡,而不是這兒定義的檔。
#
ErrorLog logs/error_log

#
# LogLevel:控制記錄在錯誤日誌檔中的日誌資訊數量。
# 可能的值包括:debug,info,notice,warn,error,crit,alert,emerg。
#
LogLevel warn

#
# 下面的指令為CustomLog指令定義格式別名。
#
LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined
LogFormat "%h %l %u %t "%r" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

# 你需要安裝了mod_logio.c模組才能使用%I和%O。
# LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i" %I %O" combinedio

#
# 指定接入日誌檔的定位和格式(一般日誌格式)。
# 如果你沒有在<VirtualHost>內定義這個指令,傳輸資訊將記錄在這裡,
# 如果你定義了這個指令,則記錄在你指定的位置,而不是這兒定義的位置。
#
CustomLog logs/access_log common

#
# 如果你想要記錄agent和referer資訊,可以使用下面的指令
#
# CustomLog logs/referer_log referer
# CustomLog logs/agent_log agent

#
# 如果你想要使用一個檔記錄access,agent和referer資訊,
# 你可以如下定義這個指令:
#
# CustomLog logs/access_log combined

#
# ServerTokens
# 這個指令定義包含在HTTP回應頭中的資訊類型。預設為「Full」,
# 這表示在回應頭中將包含模組中的作業系統類型和編譯資訊。
# 可以設為列各值中的一個:
# Full | OS | Minor | Minimal | Major | Prod
# Full傳達的資訊最多,而Prod最少。
#
ServerTokens Full

#
# 隨意的添加包含伺服器版本和虛擬主機名字一行資訊到server-generated輸出頁中
# (內部錯誤文檔,FTP目錄列表,mod_status和mod_info輸出等等,除了CGI錯誤
# 或自定義的錯誤文檔以外)。
# 設為「EMail」將包含一個指向ServerAdmin的mailto:連接。
# 可以為如下值:On | Off | EMail
#
ServerSignature On

#
# Aliases:在這時添加你需要的別名,格式如下:
# Alias 別名 真實名
#
# 注意,如果你在別名的未尾包含了「/」,那麼在URL中也需要包含「/」。
# 因此,「/icons」不是這個示例中的別名。
# 如果別名中以「/」結尾,那麼真實名也必須以「/」結尾,
# 如果別名中省略了結尾的「/」,那麼真實名也必須省略。
#
# 我們使用別名「/icons/」來表示FancyIndexed目錄列表,如果你不使用、
# FancyIndexing,你可以註釋掉它。
#
# Alias /icons/ "/usr/local/apache2/icons/"

# <Directory>
# Options Indexes MultiViews
# AllowOverride None
# Order allow,deny
## Allow from all
# </Directory>

#
# 這將改變ServerRoot/manual。這個別名提供了手冊頁所在的位置,
# 即使你改變了你的DocumentRoot。如果你對有無手冊頁並不在意的話,
# 你可以註釋掉它。
#
Alias /manual "/usr/loacl/apache2/manual"

<Directory>
Options Indexes FollowSymLinks MultiViews IncludesNoExec
AddOutputFilter Includes html
Order allow,deny
Allow from all
</Directory>

#
# ScriptAlias:指定包含服務腳本的目錄。
# ScriptAliases 本質上與Aliases一樣,除了這裡的文檔在連線時做為程式處理處理以外。
# 尾部的「/」規則與Alias一樣
#
ScriptAlias /cgi-bin/ "/usr/loacl/apache2/cgi-bin/"

# 這裡是添加php 4支援的指令
AddType application/x-httpd-php .php
LoadModule php4_module modules/libphp4.so

<IfModule>
#
# 添加mod_cgid.c設定,mod_cgid提供使用cgid進行通訊的UNIX套接字的
# 腳本介面路徑。
#
# Scriptsock logs/cgisock
</IfModule>

#
# 將"/usr/local/apache2/cgi-bin"改為你的ScriptAliased指定的CGI目錄,
# 如果你設定了的話。
#
<Directory>
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>

#
# Redirect允許你告訴用戶端使用存在於伺服器名字空間中的文檔,
# 而不是現在的,這幫助客戶定位那些改變了位置的文檔。
# 例如:
# Redirect permanent /foo http://www.example.com/bar

#
# 控制server-generated目錄列表顯示的指令
#

#
# IndexOptions:控制server-generated目錄列表顯示特徵。
#
IndexOptions FancyIndexing VersionSort

#
# AddIcon* 指令告訴伺服器不同副檔名的圖像檔如何顯示,
# 只適用於FancyIndexed指令
#
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*

AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core

AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^

#
# DefaultIcon 為那些沒有顯式定義圖示的檔提供處理
#
DefaultIcon /icons/unknown.gif

#
# AddDescription允許你在server-generated索引後放置一個簡短的說明。
# 只對FancyIndexed指令有效。
# 格式:AddDescription "說明" 檔案名
#
# AddDescription "GZIP compressed document" .gz
# AddDescription "tar archive" .tar
# AddDescription "GZIP compressed tar archive" .tgz

#
# ReadmeName指定伺服器預設查找的README檔的名字,並添加到目錄列表中
#
# HeaderName指定目錄列表首碼檔的檔案名
ReadmeName README.html
HeaderName HEADER.html

#
# IndexIgnore指定目錄索引忽略並且不包含在列表中的檔案名集合,
# 支援shell類型的通配符。
#
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t

#
# AddEncoding允許你在資訊傳送中使用(Mosaic/X 2.1+)解壓縮資訊,
# 注意:不是所有的流覽器都支援這個選項。
# 儘管名字相似,但是下列的指令與上面的FancyIndexing定製指令不同。
#
AddEncoding x-compress Z
AddEncoding x-gzip gz tgz

#
# DefaultLanguage和AddLanguage允許你指定文檔的語言。
# 這使你可以讓用戶用容易理解的語言流覽文檔。
#
# 指定預設的語言,這意味著所有沒有指定語言的包都將使用該語言。
# 多數情況下,你也許並不想設定它,除非你確信這樣做是正確的。
# 通常,不使用確定的語言比使用錯誤的語言要好。
#
# DefaultLanguage nl
#
# 注意1:作為語言關鍵字的詞綴毫無疑問是不能一樣的--採用波蘭
# 文的文檔(網路標準語言代碼是pl)將希望使用「AddLanguage pl .po」
# 來避免與perl腳本的一般詞綴產生二義性。
#
# 注意2: 下面的例子舉例說明在一些範例中語言的二字元縮寫與它的國家
# 的二字元縮寫不相同,例如 「Danmark/dk」 和 「Danmark/da」 的比較.
#
# 注意3: 在 「ltz」 的情況下我們使用三字元詞綴,違犯了 RFC的規定,
# 運行中將修復它並使用RFC1766標準取得參考資料。
#
# Danish (da) - Dutch (nl) - English (en) - Estonian (et)
# French (fr) - German (de) - Greek-Modern (el)
# Italian (it) - Norwegian (no) - Norwegian Nynorsk (nn) - Korean (ko)
# Portugese (pt) - Luxembourgeois* (ltz)
# Spanish (es) - Swedish (sv) - Catalan (ca) - Czech(cz)
# Polish (pl) - Brazilian Portuguese (pt-br) - Japanese (ja)
# Russian (ru) - Croatian (hr)
#
AddLanguage da .dk
AddLanguage nl .nl
AddLanguage en .en
AddLanguage et .et
AddLanguage fr .fr
AddLanguage de .de
AddLanguage he .he
AddLanguage el .el
AddLanguage it .it
AddLanguage ja .ja
AddLanguage pl .po
AddLanguage ko .ko
AddLanguage pt .pt
AddLanguage nn .nn
AddLanguage no .no
AddLanguage pt-br .pt-br
AddLanguage ltz .ltz
AddLanguage ca .ca
AddLanguage es .es
AddLanguage sv .sv
AddLanguage cz .cz
AddLanguage ru .ru
AddLanguage tw .tw
AddLanguage zh-tw .tw
AddLanguage hr .hr

# LanguagePriority允許你在會話過程中優先使用一些語言。
#
# 以優先次序遞減的方式列出它們。我們或多或少地採用按字母排列順序的方式
# 排列它們。也許你想要改變這個順序。
LanguagePriority en da nl et fr de el it ja ko no pl pt pt-br ltz ca es sv tw

#
# ForceLanguagePriority 允許你為MULTIPLE CHOICES(Prefer)[在通訊的情況下]
# 或NOT ACCEPTABLE(Fallback)[沒有可接受的語言匹配的情況]提供一個結果頁。
#
ForceLanguagePriority Prefer Fallback

#
# 為發送出的所有頁指定預設的字元集,這總是一個好主意,並且為你的
# web站點的國際化打開了大門,這不正是你曾經想要的嗎。同樣地,指定
# 預設字元集有一些小的損害,如一個使用iso-8859-1(latin1)標準命令
# 的頁面,除非以別的方式指定例如你僅僅以顯式方式聲明它。
# 也有一些與那些總是鼓勵你使用預設字元集的javascropt和URL語法有關
# 的流覽器安全原因。
#
#AddDefaultCharset ISO-8859-1
AddDefaultCharse GB2312

#
# 一般以檔副檔名的方式使用字元集。也許你想要避免與語言擴展發生
# 碰撞,除非你在每次改變後都做了很好的測試。
# 參見http://www.iana.org/assignments/character-sets以取得字元集
# 的名字列表和它們各自的RFCs。
#
AddCharset ISO-8859-1 .iso8859-1 .latin1
AddCharset ISO-8859-2 .iso8859-2 .latin2 .cen
AddCharset ISO-8859-3 .iso8859-3 .latin3
AddCharset ISO-8859-4 .iso8859-4 .latin4
AddCharset ISO-8859-5 .iso8859-5 .latin5 .cyr .iso-ru
AddCharset ISO-8859-6 .iso8859-6 .latin6 .arb
AddCharset ISO-8859-7 .iso8859-7 .latin7 .grk
AddCharset ISO-8859-8 .iso8859-8 .latin8 .heb
AddCharset ISO-8859-9 .iso8859-9 .latin9 .trk
AddCharset ISO-2022-JP .iso2022-jp .jis
AddCharset ISO-2022-KR .iso2022-kr .kis
AddCharset ISO-2022-CN .iso2022-cn .cis
AddCharset Big5 .Big5 .big5
# 對於俄語,使用了多個字元集(如何使用主要依靠用戶端):
AddCharset WINDOWS-1251 .cp-1251 .win-1251
AddCharset CP866 .cp866
AddCharset KOI8-r .koi8-r .koi8-ru
AddCharset KOI8-ru .koi8-uk .ua
AddCharset ISO-10646-UCS-2 .ucs2
AddCharset ISO-10646-UCS-4 .ucs4
AddCharset UTF-8 .utf8


# 下面的字元集沒有映射到一個特定的標準(iso)上,但是它們在流覽器
# 中被廣泛的支持。注意那些大寫字母。
# (它不應該,但是它是為相容一些流覽器而做)
#
# 參見http://www.iana.org/assianments/character-sets以取得
# 它們的列表。但是流覽器支持較少。
#
AddCharset GB2312 .gb2312 .gb
AddCharset utf-7 .utf7
AddCharset utf-8 .utf8
AddCharset big5 .big5 .b5
AddCharset EUC-TW .euc-tw
AddCharset EUC-JP .euc-jp
AddCharset EUC-KR .euc-kr
AddCharset shift_jis .sjis

#
# AddType允許你為指定的檔類型添加或覆蓋mime.types檔中設定的MIME
#
AddType application/x-tar .tgz
AddType image/x-icon .ico

#
# AddHandler允許你映射確定的檔副檔名到「handlers」:
# 與文件類型無關的行為。這既能編譯到伺服器中也可以添加到Action指令
# 中(看下麵)。
# 為了在ScriptAliased指令指定的以外使用CGI腳本:
#(要使它可用,你還需要在Options中添加「ExecCGI」。
#
# AddHandler cgi-script .cgi

#
# 對於那些包含他們自己的HTTP頭的檔
#
# AddHandler send-as-is asis

#
# 對於server-parsed imagemap文件:
#
# AddHandler imap-file map

#
# agemap 文件:
#
#AddHandler imap- 檔映射

#
# 對於類型映射轉移資源)
#(這是預設的設定以允許Apache的「It Worked」頁能多種語言分發)。
#
AddHandler type-map var

#
# 篩檢程式允許你在將它發送到用戶端前進行處理。
#
# 為了在伺服器端分析包含(SSI)的.shtml文檔:
# (要執行這個指令,你還需要在Options指令中添加「Includes」。)
#
# AddType text/html .shtml
# AddOutputFilter INCLUDES .shtml

#
# Action讓你定義當調用匹配的媒體檔時將要執行的腳本。這將減少
# 那些經常使用的CGI腳本的URL路徑名的重複輸入。
# 格式:Action media/type /cgi-script/location
# 格式:Action handler-name /cgi-script/location
#

#
# 可設定的錯誤應答有三種風格:
# 1)plain text 2)local redirects 3) external redirects
#
# 一些示例:
# ErrorDocument 500 "The server made a boo boo."
# ErrorDocument 404 /missing.html
# ErrorDocument 404 "/cgi-bin/missing_handler.pl"
# ErrorDocument 402 http://www.example.com/subscription_info.html
#

#
# 綜合應用這些指令,我們可以創建一個國際化的出錯應答。
#
# 我們使用Alias來重定向任意/error/HTTP_<error>.html.var應答到
# 我們的多語言錯誤消息集合。使用正確的文本替代它。
#
# 通過加入下面的行,你就能夠改變這些消息的顯示,而不必改變
# HTTP_<error>.html.var文件。
#
# Alias /error/include/ "/your/include/path/"
#
# 以將/usr/local/apache2/error/include/下的檔拷貝到/your/inclue/path/下
# 開始,你可以創建你自己的檔集合,甚至是其於每個虛擬主機的。
# 不管你的ServerSignature如何設定,預設的包含檔將顯示你的
# Aapche版本號和你的ServerAdmin郵件地址
#
# 國際化的錯誤文檔需要mod_alias,mod_include和mod_negotiation三個
# 模組。要啟動它們,取消下面30行的註釋符號

# Alias /error/ "/usr/local/apache2/error/"
#
# <Directory>
# AllowOverride None
# Options IncludesNoExec
# AddOutputFilter Includes html
# AddHandler type-map var
# Order allow,deny
# Allow from all
# LanguagePriority en de es fr it nl sv
# ForceLanguagePriority Prefer Fallback
# </Directory>
#
# ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
# ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
ErrorDocument 403 /error.php
# ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
# ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var
# ErrorDocument 408 /error/HTTP_REQUESIME_OUT.html.var
# ErrorDocument 410 /error/HTTP_GONE.html.var
# ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var
# ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var
# ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
# ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var
# ErrorDocument 415 /error/HTTP_SERVICE_UNAVAILABLE.html.var
# ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var
# ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var
# ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var
# ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var
# ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var

#
# 下面的命令更改標準的HTTP應答行為以處理己知的流覽器問題。
#
BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4.0" force-response-1.0
BrowserMatch "Java/1.0" force-response-1.0
BrowserMatch "JDK/1.0" force-response-1.0

#
# 下面命令關閉對那些沒有尾部「/」的目錄的非GET連線的重定向,
# 這些命令修復了微軟的採用DAV方法不能正確處理重定向的WEB檔夾的問題。
# Apple下的DAV檔系統和Gnome下的VFS對DAV的支援也是採用這樣的方法
# 進行處理的。
#
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
BrowserMatch "^gnome-vfs" redirect-carefully

#
# 允許你使用URL:http://servername/server-status來通過mod_status生
# 成並報告伺服器狀態資訊。改變.example.com為你自己的功能變數名稱。
#
# <Location>
# SetHandler server-status
# Order deny,allow
# Deny from all
# Allow from .example.com
# </Location>

#
# 允許使用URL:http://servername/server-info來遠端報告伺服器設定資訊
# (需要mod_info.c支持)。改變「.example.com」為你自己的功能變數名稱。
#
# <Location>
# SetHandler server-info
# Order deny,allow
# Deny from all
# Allow from .example.com
# </Location>

#
# 代理伺服器命令,去掉下面的行使代理服務可用。
#
# <IfModule>
# ProxyRequests On
# <Proxy>
# Order deny,allow
# Deny from all
# Allow from .example.com
# </Proxy>

#
# 安裝或關閉HTTP/1.1「通道」頭處理。
# (「Full」添加伺服器版本資訊,「Block」移掉所有輸出「通道」頭資訊。
# 可以設為下面各選項之一:Off | On | Full | Block
#
# ProxyVia On

# 最好為代理服務安裝高速緩衝,去掉下面幾行的註釋符號:
# (沒有CacheRoot則不緩衝)
#
# CacheRoot "/usr/local/apache2/proxy"
# CacheSize 5
# CacheGcInterval 4
# CacheMaxExpire 24
# CacheLastModifiedFactor 01
# CacheDefaultExpire 1
# NoCache a-domain.com another-domain.edu joes.garage-sale.com

# </IfModule>
# 代理命令結束。

#
# 附加的特定模組設定。
#
<IfModule>
Include conf/ssl.conf
</IfModule>

## 第三區:虛擬主機
#
# VirtualHost:你可以通過設定虛擬主機容器以實現在你的主機上保有多個
# 功能變數名稱/主機名。大多數設定資訊只使用基於名字的虛擬主機,因此伺服器
# 不必擔心IP位址的問題,下面的命令以*號代替虛擬主機名。
#
# 在你試著設定你的虛擬主機以前,請參見
# URL:http://httpd.apache.org/docs-2.0/vhosts/>以取得更多的資訊。
#
# 你可以使用命令行選項「-S」來檢驗你的虛擬主機設定。

#
# 使用基於名字的虛擬主機。
#
# NameVirtualHost *

#
# 虛擬主機示例:
# 幾乎所有的Apache命令都可以在虛擬主機容器中使用。
# 第一個虛擬主機區是用於向服務名未知的連線進行應答的設定。
#
# <VirtualHost>
回首頁
# ServerAdmin webmaster@dummy-host.example.com
# DocumentRoot /www/docs/dummy-host.example.com
# ServerName dummy-host.example.com
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log commom
# </virtualHost>



回 PHP 目錄
回首頁

2011年8月20日 星期六

PHP.ini 的上傳檔案限制

弟最近頻繁的接觸 PHP + MYSQL + APACHE,原因無它,距督導不到 20 天了,所以只能逼自己去學習 PHP + MYSQL + APACHE,以便網站安然度過這次督導。

一般預設上傳檔案大小 (file size) 為 2M,但是檔案大小如果超過 2M,就會沒效,所以你可以修改 PHP 資料夾內的 php.ini 開啟 ( 如果是用 AppServ 架站的話,php.ini 的檔案可能會在 C:\Windows 下 ),修改幾個參數:

1. upload_max_filesize = 2M --> upload_max_filesize = 64M
2. post_max_size = 8M --> post_max_size = 128M
3. memory_limit = 8M --> memory_limit = 256M
4. max_execution_time = 30 --> max_execution_time = 900

實際大小依照網站的需求調整。

記的修改完畢要重開 apapche。

以下 php.ini 中文翻譯引用於http://omega.idv.tw/kdb120/viewthread.php?threadid=1706


;;;;;;;;;;;;;;;;;;;
; PHP.INI中文說明 ;
;;;;;;;;;;;;;;;;;;;
; 這個檔案是PHP安裝的預設配置檔案.
; 預設設定下, PHP是以程式開發為目的,而不是為了其它目的!
; 由於PHP在應用在您的網站之前必須考慮一些安全問題,
; 所以請您參考php.ini-recommended(被推薦的)中相關參數的設定,
; 另外,您也可以在以下網站獲得幫助:http://php.net/manual/en/security.php.


;;;;;;;;;;;;;;;;
; 關於這個檔案 ;
;;;;;;;;;;;;;;;;
; 這個檔案控制著PHP的許多方面,為了能讓PHP正常讀取它,這個檔案必須被命名為"php.ini".
; PHP運行時依次在以下路徑中尋找這個檔案:目前工作目錄,環境變量PHPPRC指定路徑,編譯時
; 指定的路徑.
; 在Windows下,編譯時指定路徑就是Windows的安裝目錄,
; 在命令提示符下,可以用-c的參數來替代php.ini的查找路徑.
;
; 這個配置檔案的設定極其簡單. 以空白字元和分號開始的行被忽略(可能您已經想到了^_^),
; 雖然它們可能在將來有意義...
;
; 您在配置php.ini時,請使用以下的指定語法:
; 指示 = 值
; 注意:指示標識符是區分大小寫的,例如foo=bar和FOO=bar是不同的.
;   值可以是一個字元,一個數字,一個PHP常量(例如E_ALL和M_PI),
;   一個INI常量(例如On,Off,True,False,Yes,No和None),一個表達式(例如E_ALL & ~E_NOTICE),
;   或是用引號括起來的字元串(例如"foo").
;
; INI檔案中的表達式被限制為下面的運算符:
; |  代表 OR
; &  代表 AND
; ~  代表 NOT(except)
; !  代表 NOT
;
; 其中布爾值可用1,On,True或Yes表示設為開的狀態,
;      可用0,Off,False或No表示設為關的狀態.
;
; 一個空字元串可以以在等號後不寫任何東西的方法表示,或者用None表示.例如:
;
; foo = ; 將foo值設定為空字元串
; foo = none ; 將foo值設定為空字元串
; foo = "none" ; 將foo值設定為字元串'none'
;
; 如果您在值設定中使用常量,並且這些常量屬於動態調入的擴展庫(PHP擴展或Zend擴展),
; 那麼,您只能在調入這些擴展庫之後再使用這些常量.
;
; 所有在 php.ini-dist 檔案裡設定的值與內建的預設值相同(就是說,如果 php.ini
; 沒被使用或者你刪掉了這些行,預設值與之相同).


;;;;;;;;;;;
; 語言選項;
;;;;;;;;;;;

; 是否使PHP腳本語言在Apache伺服器下有效.
engine = On

; 是否允許使用<? ?>這種簡單的標識格式,當設定為Off時只有<?php ?>這種標識能被識別.
short_open_tag = On

; 是否允許使用ASP風格的標識格式<% %>.
asp_tags = Off

; 浮點類型數顯示時的有效位數.
precision  = 12

; 是否開啟2000年適應 (可能在非2000年適應的瀏覽器中導致問題).
y2k_compliance = Off

; 輸出緩存允許你甚至在輸出正文內容之後發送header標頭(包括cookies), 但這樣會使速度有些下降.
; 您可以在運行時使用輸出緩存功能,也可以把output_buffering的值設為On使所有檔案的輸出緩存打
; 開.您也可以使用一個數值(單位是byte)作為輸出緩存上限,例如: output_buffering=4096.
output_buffering = 4096

; 您可以把腳本輸出到一個函數,
; 字元編碼將會自動地轉換為您指定的編碼,這樣可能會對您處理以及記錄日誌有所幫助.
; 例如,如果您把 output_handler 設為 ob_iconv_handler,
; 輸出會為支援gzip或deflate編碼的瀏覽器設一個輸出處理器自動地開啟輸出緩衝.
;
; 說明: 您不必完全依照這個檔案中的設定去編寫腳本程式,相反地,您應該使用ob_start()函數
;    具體設定,如果您在不瞭解正在被執行的腳本的情況下使用這個INI檔案中的配置,就有
;    可能引起一些問題.
;    您不能同時使用"ob_gzhandler" 和 "zlib.output_compression".
;output_handler =

; 輸出會為支援壓縮使用了zlib庫
; 這個選項的有效值是'off','on',或者一個具體的值,預設值是4KB.
; 說明: 您可以增大數值來增加執行效率.
;    您必須使用zlib.output_handler來替代標準的output_handler否則輸出緩存會失效.
;    .
zlib.output_compression = Off

; 如果zlib.output_compression被設為On,您就不能再額外地指定輸出的值.
; 在不同在設定下,結果是一樣的.
;zlib.output_handler =

; 強制更新使PHP輸出層在每個輸出塊之後自動更新自身資料.
; 這等效於在執行每個print()或echo()或每個HTML塊後調用flush()函數.
; 開啟這項設定可能會在運行時導致嚴重的衝突,建議僅在debug過程中開啟.
implicit_flush = Off

; 得到一個串行變量,並將其轉化為PHP值,可能為整型,雙精度,字元串,數組,或對像.
; 如果些函數發現了未定義的或類或參數,將會出現提示,如果您想使用這一函數,請設定
; 這個功能.
unserialize_callback_func=

; 是否強迫函數調用時按引用傳遞參數,在將來的PHP/Zend中,這一功能很可能不會再被支援,
; 建議您把此項設為Off,並在腳本中用函數聲明此變量,以便在將來的PHP下正常運行.
allow_call_time_pass_reference = Off

; 安全模式
; 是否啟用安全模式
safe_mode = Off

; 預設設定為Off,在開啟檔案時,安全模式會作一個UID對比檢查,如果設定為On,則作GID對比.
safe_mode_gid = Off

; 如果PHP在安全模式下運行,UID/GID檢查將在這個命令指定的檔案夾及其子檔案夾中進行.
safe_mode_include_dir =

; 如果PHP在安全模式下運行,system()和其它執行系統程式的函數都只能執行這個指令所指定
; 的目錄
safe_mode_exec_dir =

; 改變某些環境變量可能是一個有效的安全措施.
; 這個指令包括了一個含有符號的前綴.在安全模式下,會員只能改變或設定以這裡指定的前綴
; 的名字的環境變量.
; 說明: 如果不指定前綴,PHP會允許會員任意修改環境變量.
safe_mode_allowed_env_vars = PHP_

; 這個指令包含了一個符號,使得會員不能使用putenv()函數修改環境變量.
; 即使safe_mode_allowed_env_vars設定為允許會員修改,這些環境變量也會受到保護.
safe_mode_protected_env_vars = LD_LIBRARY_PATH

; 如果設定了open_basedir,將會使所有被定義的目錄及其子目錄的操作受到限制,這一指令在
; 每一個目錄和每一個虛擬主機構造檔案中著很大的作用.不論safe_mode被設定為On或是Off,
; 這個指令都不會受到任何影響.
;open_basedir =

; 這個指令允許您基於安全原因限制某些函數的使用.
; 如果您想禁用多個函數,可以在函數間用逗號隔開. 同樣地,
;不論safe_mode被設定為On或是Off,這個指令都不會受到任何影響.
disable_functions =

; This directive allows you to disable certain classes for security reasons.
; It receives a comma-delimited list of class names. This directive is
; *NOT* affected by whether Safe Mode is turned On or Off.
disable_classes =

; 語法以高亮度模式顯示的色彩.所有能被<font color="??????">接受的東西就可以運行.
;highlight.string = #DD0000
;highlight.comment = #FF9900
;highlight.keyword = #007700
;highlight.bg   = #FFFFFF
;highlight.default = #0000BB
;highlight.html  = #000000


;;;;;;;;;;;;
; 雜項設定 ;
;;;;;;;;;;;;
; 是否承認您的伺服器上安裝了PHP這一事實(例如通過附加簽名到WEB伺服器上)
; 這個指令不會引起安全問題,但它使檢查你的伺服器上是否安裝了PHP有了可能.
expose_php = On


;;;;;;;;;;;;
; 資源限制 ;
;;;;;;;;;;;;

max_execution_time = 30   ; 每個腳本的最大執行時間, 按秒計.
max_input_time = 60 ; 每個腳本的最大讀取資料時間, 按秒計.
memory_limit = 8M   ; 一個腳本可使用記憶體的最大值 (這裡是8MB).

;;;;;;;;;;;;;;;;;;
; 錯誤控制和記錄 ;
;;;;;;;;;;;;;;;;;;

; 錯誤報告是按比特記的,或者將數字加起來得到想要的錯誤報告等級.
; E_ALL       - 所有的錯誤和警告.
; E_ERROR      - 運行時的嚴重錯誤.
; E_WARNING     - 運行時的警告(並不是非常嚴重的).
; E_PARSE      - 編譯時解析錯誤.
; E_NOTICE     - 運行時提醒(這些經常是是你的代碼的bug引起的,
;           也可能是有意的行為造成的(如基於未初始化的變量自動初始化為一個
;           空字元串而使用一個未初始化的變量).
; E_CORE_ERROR   - 發生於PHP啟動時初始化過程中的致命錯誤.
; E_CORE_WARNING  - 發生於PHP啟動時初始化過程中的警告(非致命性錯).
; E_COMPILE_ERROR  - 編譯時致命性錯誤.
; E_COMPILE_WARNING - 編譯時警告(非致命性錯).
; E_USER_ERROR   - 會員產生的出錯消息.
; E_USER_WARNING  - 會員產生的警告消息.
; E_USER_NOTICE   - 會員產生的提醒消息.
;
; 例子:
;
;  - error_reporting = E_ALL & ~E_NOTICE 顯示所有的錯誤,除了提醒.
;
;  - error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR 僅顯示錯誤.
;
error_reporting = E_ALL & ~E_NOTICE

; 顯示錯誤(作為輸出的一部分).在WEB網站上,建議您關掉這個功能,並用錯誤日誌的方式來代替.
; 如果開啟此功能可能會給您帶來安全問題,例如檔案在伺服器上的路徑和您的資料庫或其它訊息.
; 不過在Debug過程中,開啟此項會給調試程式帶來極大的方便.
display_errors = On

; 如果display_startup_errors設定為Off,即使display_errors被設定成On,
; 在PHP啟動過程中的錯誤也不會被顯示.如果不是在Debug過程中,建議您關閉此項.
display_startup_errors = off

; 在日誌檔案中記錄錯誤(伺服器日誌,stderr標準錯誤輸出, 或者error_log (下面的)).
; 正如上面說明的那樣,強烈建議你在最終發表的web網站時以日誌方式記錄錯誤.
log_errors = On

; 設定錯誤日誌檔案最大值.預設大小是1024M.
log_errors_max_len = 1024

; 不記錄重複的訊息.在ignore_repeated_source被設為On前,重複的訊息一定發生在同一文
; 件的同一行
ignore_repeated_errors = Off

; 忽略重複多次的訊息.如果ignore_repeated_source被設為On,您將不能記錄不同檔案或不同行
的相同訊息.
ignore_repeated_source = Off

; 如果此命令設為Off,記憶體溢出將不會被顯示.
; 而這只在Debug, 並且error reporting中包含E_WARNING時才有意義.
report_memleaks = On

; 是否在$php_errormsg中存儲錯誤/警告訊息(布爾).
track_errors = Off

; 是否在錯誤訊息中包含HTML語法錯誤.
html_errors = On
 
; 如果您已經讓PHP記錄HTML錯誤,並想通過在錯誤頁面上的按這裡來獲得詳細訊息,
; 您可以從http://www.php.net/docs.php下載一個文件,
; 並且修改docref_root來使用這個文件,這個值必須以'/'開頭,您也必須指定該文件的副檔名.
;docref_root = /phpmanual/
;docref_ext = .html
 
; 在錯誤訊息輸出前的字元.
;error_prepend_string = "<font color=ff0000>"

; 在錯誤訊息輸出後的字元.
;error_append_string = "</font>"

; 用於記錄錯誤日誌的指定檔案.
;error_log = filename

; 用系統日誌記錄錯誤(NT,XP,w2k下的事件觀看器,WIN95和WIN98下無效).
;error_log = syslog


;;;;;;;;;;;;
; 資料處理 ;
;;;;;;;;;;;;
;
; 說明 - track_vars 在PHP 4.0.3中是一直啟動的

; 在PHP中分隔URL的符號,預設是 "&".
;arg_separator.output = "&"

; 在變量中插入URL的分隔符號,預設是 "&".
; 說明: 任何字元在這裡都是作為分隔符的!
;arg_separator.input = ";&"

; 這條指示描述了PHP記錄GET,POST,Cookie,Environment和Built-in這些變量的順序.
; 以G,P,C,E和S代表,通常以EGPCS或GPC的方式引用,按從左到右記錄,最新的記錄覆蓋較舊的.
variables_order = "EGPCS"

; 是否將這些 EGPCS 變量註冊為全局變量.
; 若你不想讓會員資料不在全局範圍內混亂的話,你可以想關閉它.
; 這和 track_vars 連起來用更有意義 — 這樣你可以通過$HTTP_*_VARS[] 數組瀏覽所有的GPC變量.
; 建議您盡量不使用全局變量,因為它有可能引起安全問題,所以這個指令是不被推薦的.
register_globals = On

; 是否啟用argv和argc變量(這裡argv為數組,argc為變量數).
; 如果您不使用這些變量,您可以設為Off來增加PHP的執行效率.
register_argc_argv = Off

; PHP能接收POST資料的最大值.
post_max_size = 8M

; 不推薦您使用此指令,推您使用variables_order來代替.
gpc_order = "GPC"

;;;;;;;;;;;;
; 魔術引用 ;
;;;;;;;;;;;;

; 是否對引入的GET/POST/Cookie資料啟用魔術引用.
magic_quotes_gpc = On

; 是否對運行時產生的資料啟用魔術引用,例如用SQL搜尋得到的資料,用exec()函數得到的資料等.
magic_quotes_runtime = Off  

; 是否使用Sybase形式的魔術引用(即用\'代替'').
magic_quotes_sybase = On

; 在PHP文件前的後自動填加檔案.
auto_prepend_file =
auto_append_file =

; 像4.0b4一樣,PHP總是預設地在"Content-type:"頭標輸出一個字元的編碼方式
; 只要設定為空,就會取消這個字元了.PHP的內建預設值是text/html.
default_mimetype = "text/html"
;default_charset = "iso-8859-1"

; 是否一直使用$HTTP_RAW_POST_DATA變量.
always_populate_raw_post_data = Off

; 是否允許處理PHP腳本以外的HTTP請求.
; 如果您想獲得這些請求的資料, 您必須同時設定always_populate_raw_post_data變量.
;allow_webdav_methods = On

;;;;;;;;;;;;
; 路徑設定 ;
;;;;;;;;;;;;

; UNIX伺服器使用如下路徑: "/path1:/path2" 
;include_path = ".:/php/includes"
;
; Windows伺服器使用如下路徑: "\path1;\path2"
;include_path = ".;c:\php\includes"

; PHP檔案的根目錄, 僅在非空時有效,如果PHP被設定為安全模式,PHP不會處理此目錄以外檔案.
doc_root =

; 在使用/~username動工開啟腳本時,PHP尋找該腳本的路徑,同樣地僅在非空時有效.
user_dir =

; 存放可加載的擴展庫(模塊)目錄的路徑.
extension_dir = ./

; 是否啟用dl()函數.在多線程的服務上(如IIS和Zeus)dl()函數不能很好的工作,
; 在多線程服務上該指令預設被禁止.
enable_dl = On

; 在很多伺服器上,以CGI形式運行PHP來提高安全性能.預設設定下,PHP設其為On.
; 您可以在這裡關掉它,但關掉以後是有風險的.但在IIS下您則可以毫無風險的關掉它,
; 事實上,在IIS下您必須關掉它.
; cgi.force_redirect = 1

; 如果cgi.force_redirect功能開啟,並且您不是在Apache或Netscape(iPlanet)伺服器下運行,
您可能須要設定一個環境變量名,PHP將尋找此變量來確定可以繼續執行,設定此變量可能會引起
安全問題,避免的方法是先弄清楚您在作什麼~~~
; cgi.redirect_status_env = ;

; 此選項提供了在IIS伺服器下的智能化安全解決風格,如果在IIS下請設為On,目前不支援Apache
; 伺服器(2002年3月17日),預設值是0.
; fastcgi.impersonate = 1;

; 在發送HTTP響應時cgi.rfc2616_headers告訴PHP使用哪種headers.
; 如果設為0,PHP的發送情況是被Apache所支援的,如果設為1,PHP將發送自適應的RFC2616headers.
; 在IIS下,請設其值為1,預設值是0.
;cgi.rfc2616_headers = 0


;;;;;;;;;;;;
; 檔案上傳 ;
;;;;;;;;;;;;

; 是否允許以HTTP方式上傳檔案.
file_uploads = On

; 以HTTP方式上傳檔案的臨時目錄 (未指定時使用系統預設).
;upload_tmp_dir =

; 允許上傳檔案的最大值.
upload_max_filesize = 2M


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Fopen wrappers(這個俺不會譯5555~) ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; 是否允許把URLs(如http://和ftp://)當作檔案處理.
allow_url_fopen = On

; 指定一個匿名FTP瀏覽密碼(例如您的電子信箱)
;from="Neter@Neter.CN"

; 指定User-Agent字元串(User-Agent是啥呀?會員代理?55555555~)
; user_agent="PHP"

; 預設連接超時時間(以秒計).
default_socket_timeout = 60

; 如果您的腳本程式不是在蘋果機等作業系統下,而只是運行在unix或者win32系統下,
; 開啟這個變量將使PHP自動地檢查已結束的那些字元變量以便fgets()函數和file()函數
; 不受限制的表達.
; auto_detect_line_endings = Off


;;;;;;;;;;;;
; 動態擴展 ;
;;;;;;;;;;;;
;
; 如果您想讓動態擴展庫能夠自動的被加載,請使用下面的語法.
;
;  extension=modulename.extension
;
; 例如在Windows下:
;
;  extension=msql.dll
;
;   在UNIX下:
;
;  extension=msql.so
;
; 注意後面的值只是模塊的名字,並不包含該模塊所在的目錄,您應該用上面的extension_dir
; 來指示指定擴展庫的路徑.



;Windows擴展
;注意:PHP已經內建了對MySQL和ODBC支援,所以不必再為其配置任何dll擴展.
;
;extension=php_bz2.dll
;extension=php_cpdf.dll
;extension=php_crack.dll
;extension=php_curl.dll
;extension=php_db.dll
;extension=php_dba.dll
extension=php_dbase.dll
;extension=php_dbx.dll
;extension=php_domxml.dll
extension=php_exif.dll
;extension=php_fbsql.dll
;extension=php_fdf.dll
;extension=php_filepro.dll
;extension=php_gd.dll
extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_hyperwave.dll
extension=php_iconv.dll
;extension=php_ifx.dll
;extension=php_iisfunc.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_java.dll
;extension=php_ldap.dll
;extension=php_mbstring.dll
;extension=php_mcrypt.dll
;extension=php_mhash.dll
;extension=php_mime_magic.dll
extension=php_ming.dll
;extension=php_mssql.dll
;extension=php_msql.dll
;extension=php_oci8.dll
;extension=php_openssl.dll
;extension=php_oracle.dll
extension=php_pdf.dll
extension=php_pgsql.dll
;extension=php_printer.dll
;extension=php_shmop.dll
;extension=php_snmp.dll
extension=php_sockets.dll
;extension=php_sybase_ct.dll
;extension=php_w32api.dll
;extension=php_xmlrpc.dll
;extension=php_xslt.dll
;extension=php_yaz.dll
extension=php_zip.dll


;;;;;;;;;;;;
; 模塊設定 ;
;;;;;;;;;;;;

[系統日誌]
; 是否定義各種系統日誌變量(如$LOG_PID,$LOG_CRON等).關掉這個指令將會提高效率.
; 您可以在運行時使用define_syslog_variables()函數來定義這些變量.
define_syslog_variables = Off

[郵件功能]
; 僅在Windows下.
SMTP = localhost

; 僅在Windows下.
sendmail_from = Administrator@localhost.com

; 僅在Unix下.您也可以指定參數(預設值是: "sendmail -t -i").
;sendmail_path =

[Java]
;java.class.path = .\php_java.jar
;java.home = c:\jdk
;java.library = c:\jdk\jre\bin\hotspot\jvm.dll
;java.library.path = .\

[SQL]
sql.safe_mode = Off

[ODBC]
;odbc.default_db  = Not yet implemented
;odbc.default_user = Not yet implemented
;odbc.default_pw  = Not yet implemented

; 是否允許持續連接.
odbc.allow_persistent = On

; 是否在重用前檢查連接可用性.
odbc.check_persistent = On

; 允許持續連接的最大值.-1代表無限制.
odbc.max_persistent = -1

; 允許連接的最大值(持續連接和非持續連接的和).-1代表無限制.
odbc.max_links = -1 

; 控制LONG類型的字段.返回變量的大小(比特).0代表不控制.
odbc.defaultlrl = 4096 

; 控制二進制資料.0不控制,1保持,2轉換成字元.
; 可參見有關odbc_binmode和odbc_longreadlen的文件
; 以得到uodbc.defaultlrl和uodbc.defaultbinmode的解釋.
odbc.defaultbinmode = 1 

[MySQL]
; 是否允許持續連接.
mysql.allow_persistent = On

; 允許持續連接的最大值.-1代表無限制.
mysql.max_persistent = -1

; 允許連接的最大值(持續連接和非持續連接的和).-1代表無限制.
mysql.max_links = -1

; mysql_connect()函數的預設端口.如不設定,mysql_connect()將使用$MYSQL_TCP_PORT或者
; 在/etc/services下的mysql-tcp或者編譯定義的MYSQL_PORT(nuix)依次搜尋,而在Win32下,將
; 僅檢查MYSQL_PORT.
mysql.default_port =

; 用於本地MySql連接的預設socket,為空時,使用內建值.
mysql.default_socket =

; mysql_connect()連接的預設主機(安全模式下無效).
mysql.default_host =

; mysql_connect()連接時的預設會員名稱(安全模式下無效).
mysql.default_user =

; mysql_connect()連接時的預設密碼(安全模式下無效).
; 注意,在這裡使用密碼十分危險,因為任何有PHP權限的會員都可以通過運行'echo get_cfg_var("mysql.default_password")'
; 的方法來獲得該密碼,當然,任何有瀏覽權限的會員也可以得到此密碼.
mysql.default_password =

; 連接超時的最大值(以秒計).-1代表無限制.
mysql.connect_timeout = 60

; 鑒定報告模式.如果此模式被啟動(即設為On),關於table/index和MYSQL錯誤將會被列出.
mysql.trace_mode = Off

[mSQL]
; 是否允許持續連接.
msql.allow_persistent = On

; 允許持續連接的最大值.-1代表無限制.
msql.max_persistent = -1

; 允許連接最大值(持續連接與非持續連接的和).-1代表無限制.
msql.max_links = -1

[PostgresSQL]
; 是否允許持續連接.
pgsql.allow_persistent = On

; 是否使用pg_pconnect()函數檢查中斷的持續連接.Need a little overhead(55555俺又不懂了).
pgsql.auto_reset_persistent = Off

; 允許持續連接的最大值. -1代表無限制.
pgsql.max_persistent = -1

; 允許連接的最大值(持續連接與非持續連接的和).-1代表無限制.
pgsql.max_links = -1

; 是否忽略PostgreSQL的返回訊息.
pgsql.ignore_notice = 0

; 是否記錄PostgreSQL的返回訊息.
; 僅當pgsql.ignore_notice=0時,模塊才能記錄該訊息.
pgsql.log_notice = 0

[Sybase]
; 是否允許持續連接.
sybase.allow_persistent = On

; 允許持續連接的最大值.-1代表無限制.
sybase.max_persistent = -1

; 允許連接的最大值(持續連接與非持續連接的和).-1代表無限制.
sybase.max_links = -1

;sybase.interface_file = "/usr/sybase/interfaces"

; 顯示錯誤的最低嚴重性.
sybase.min_error_severity = 10

; 顯示訊息的最低嚴重性.
sybase.min_message_severity = 10

; 與舊的版本(PHP3.0)兼容.如果設為On,PHP將根據它們的Sybase類型自動地賦值到結果中,
; 而不是把它們全當作字元串處理,此模式在將來不再被支援,所以盡量對代碼進行修改,並
; 關掉這項.
sybase.compatability_mode = Off

[Sybase-CT]
; 是否允許持續的連接.
sybct.allow_persistent = On

; 允許持續連接的最大值.-1代表無限制.
sybct.max_persistent = -1

; 允許連接的最大值(持續連接與非持續連接的和).-1代表無限制.
sybct.max_links = -1

; 伺服器訊息最小顯示量.
sybct.min_server_severity = 10

; 客戶訊息最小顯示量.
sybct.min_client_severity = 10

[dbx]
; 通過對dbx.colnames_case的設定,返回的數組名能夠轉換成兼容的值.
; "unchanged" (在不設定時的預設值)
; "lowercase" (小寫)
; "uppercase" (大寫)
; 推薦不區分大小寫字母,但是由於兼容性的限制我們不得不把大小寫區分開.
dbx.colnames_case = "lowercase"

[bcmath]
; 用於所有bcmath函數的10十進制數小數的個數.
bcmath.scale = 0

[browscap]
;browscap = extra/browscap.ini

[Informix]
; ifx_connect()的預設主機(安全模式下無效).
ifx.default_host =

; ifx_connect()的預設會員(安全模式下無效).
ifx.default_user =

; ifx_connect()的預設密碼(安全模式下無效).
ifx.default_password =

; 是否允許持續連接.
ifx.allow_persistent = On

; 允許持續連接的最大值.-1代表無限制.
ifx.max_persistent = -1

; 允許連接的最大值(持續連接與非持續連接的和).-1代表無限制.
ifx.max_links = -1

; 若開啟,select狀態符將返回一個byte blobs而不是它的ID.
ifx.textasvarchar = 0

; 若開啟,select狀態符將返回一個text content而不是它的ID.
ifx.byteasvarchar = 0

; 從固定長度的字元列裡分離出空格.可能對Informix SE會員有效.
ifx.charasvarchar = 0

; 若開啟, text和byte blobs的內容被導出到一個檔案,而不是儲存在記憶體中.
ifx.blobinfile = 0

; NULL(空)被作為空字段返回,除非,這裡被設為1,這種情況下(為1)NULL作為字串NULL返回.
ifx.nullformat = 0

[Session]
; 用於儲存/取得取資料的控制方式.
session.save_handler = files

; session的儲存路徑.
; 說明1: PHP不會建立這個檔案夾,您必須自行建立.
;   
; 說明2: 如果您使用子檔案夾進行存儲,請檢查下面的路徑.
session.save_path = /tmp

; 是否使用cookies.
session.use_cookies = 1

; 這個選項能夠使會員避免由於session名被作為URLs的一部分顯示而受到的攻擊.
; 預設值是0.
; session.use_only_cookies = 1

; session的名稱(同時作為cookie的名稱).
session.name = PHPSESSID

; 是否在請求開始時初始化session.
session.auto_start = 0

; cookie的儲存時間(以秒計),設為0時,瀏覽器關閉時不再儲存.
session.cookie_lifetime = 0

; cookie的有效路徑.
session.cookie_path = /

; cookie的有效域.
session.cookie_domain =

; 控制連續的資料.PHP是PHP資料的標準控制器.
session.serialize_handler = php

; 定義'garbage collection'(碎片整理)程序的初始化比率
; 這個比率是通過gc_probability/gc_dividend算出的.
; e.g. 1/100 means 1%.

session.gc_probability = 1
session.gc_dividend  = 1000

; 在指定的秒數後,存儲的資料將會被看作'碎片'並且被碎片整理程序清理掉.
; 警告:  您的檔案系統會定期的存儲資料,FAT系統除外.所以應該使用特別的方法來刪除sessions.
session.gc_maxlifetime = 1440

; 說明: 如果您使用檔案夾來存儲session檔案(觀看session.save_path中的設定),
;    碎片整理不會自動的運行,您必須通過其它方法整理這些碎片.
;    例如下面的方法和把session.gc_maxlifetime設成1440(1440秒=24分)是等效的. 
;    cd /path/to/sessions; find -cmin +24 | xargs rm

; 在PHP4.2及更早的版本中沒有正式的檔案允許您初始一個處於全局的session變量,即使是在
; register_globals被禁用的情況下.PHP4.3及以後版本中,如果此功能被使用,PHP提醒您.
; 您可以對此功能和警告訊息單獨禁用,此時,如果bug_compat_42是啟動的,僅會顯示警告訊息.

session.bug_compat_42 = 0
session.bug_compat_warn = 1

; 檢查HTTP引用使額外包含於URLs中的ids無效.
; HTTP_REFERER應該包含有效的session字段作為子鏈.
session.referer_check =

; 從檔案中讀取字元的大小.
session.entropy_length = 0

; 在這裡指定session id.
session.entropy_file =

;session.entropy_length = 16

;session.entropy_file = /dev/urandom

; 設定為{nocache,private,public,}來決定HTTP的緩存問題,
; 或者不進行設定來避免發送明顯的headers.
session.cache_limiter = nocache

; 文件在指定時間(以分計)後過期.
session.cache_expire = 180

; 預設情況下不支援過渡sid.使用此功能時您會收到警告訊息.
; 使用過渡sid是有風險的.因為:
;
; - 會員可以發送包含處於啟動狀態的session ID的URL給其它人.
;
; - 包含處於啟動狀態的session ID的URL會存在於容易接近的公共電腦裡.
; 
; - 會員可以通過使用存儲於瀏覽器歷史記錄或書籤中相同的session ID來瀏覽您的網站.
; 
session.use_trans_sid = 0

; 重寫URL時將從定義的HTML標籤中尋找form/fieldset是特殊的,如果您在這裡使用它們,
; 就會附;加一個隱藏的<input>,其訊息不同與其它的對URLs的附加.如果您想符合XHTML,
; 刪除form記錄.注意:所有有效的命令必須包含一個"="號,即使命令後面沒有具體值.
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset="

[MSSQL]
; 是否允許持續連接.
mssql.allow_persistent = On

; 允許持續連接的最大值.-1表示無限制.
mssql.max_persistent = -1

; 允許連接的最大值(持續連接與非持續連接的和).-1表示無限制.
mssql.max_links = -1

; 顯示最小錯誤嚴重性.
mssql.min_error_severity = 10

; 顯示最小訊息重要性.
mssql.min_message_severity = 10

; 是否開啟與舊的PHP 3.0兼容的模式.
mssql.compatability_mode = Off

; 有效範圍0 - 2147483647.預設值是4096.
;mssql.textlimit = 4096

; 有效範圍0 - 2147483647.預設值是4096.
;mssql.textsize = 4096

; 限制每一批中的記錄數量.設為0時表示所有記錄記錄在一批中.
;mssql.batchsize = 0

; 當連接到伺服器時使用NT驗證.
mssql.secure_connection = Off

; 指定最大程序數.預設是25
;mssql.max_procs = 25

[Assertion]
; Assert(expr);預設值是啟動的.(俺不行了,這組指令譯不過來了55555)
;assert.active = On

; Issue a PHP warning for each failed assertion.
;assert.warning = On

; Don't bail out by default.
;assert.bail = Off

; User-function to be called if an assertion fails.
;assert.callback = 0

; Eval the expression with current error_reporting(). Set to true if you want
; error_reporting(0) around the eval().
;assert.quiet_eval = 0

[Ingres II]
; 是否允許持續連接.
ingres.allow_persistent = On

; 允許持續連接在最大值. -1代表無限制.
ingres.max_persistent = -1

; 允許連接的最大值.-1代表無限制.
ingres.max_links = -1

; 預設的database(格式是: [node_id::]dbname[/srv_class]).
ingres.default_database =

; 預設會員.
ingres.default_user =

; 預設密碼.
ingres.default_password =

[Verisign Payflow Pro]
; 預設的Payflow Pro伺服器.
pfpro.defaulthost = "test-payflow.verisign.com"

; 伺服器的預設端口.
pfpro.defaultport = 443

; 預設的超時時間(以秒計).
pfpro.defaulttimeout = 30

; 預設代理伺服器IP位址(如果須要).
;pfpro.proxyaddress =

; 預設代理伺服器端口.
;pfpro.proxyport =

; 預設的登入名.
;pfpro.proxylogon =

; 預設的登入密碼.
;pfpro.proxypassword =

[Sockets]
; 是否使用系統的read()功能來替代php_read().
sockets.use_system_read = On

[com]
; 指向包含GUIDs,IIDs或典型靜態庫檔案的檔案名稱的檔案的路徑.
;com.typelib_file =
; 是否允許調用分佈式的COM檔案
;com.allow_dcom = true
; 是否自動把組成典型靜態庫檔案的常量註冊到com_load()函數.
;com.autoregister_typelib = true
; 是否區分常量的大小寫
;com.autoregister_casesensitive = false
; 是否在有重複的常量出現時顯示錯誤
;com.autoregister_verbose = true

[Printer]
;printer.default_printer = ""

[mbstring]
; 語言選擇.
;mbstring.language = Chinese

; 語言/腳本的編碼.
; 某些編碼不能作為本地的語言編碼,例如SJIS, BIG5, ISO-2022-.
;mbstring.internal_encoding = GB2312

; http輸入編碼.
;mbstring.http_input = auto

; http輸出編碼.mb_output_handler必須註冊為函數的輸出緩存.
;mbstring.http_output = SJIS

; 是否根據mbstring.internal_encoding的設定自動翻譯編碼. 把這項設為On可以把輸入字元
; 轉換為設定的編碼語言.
; 說明: 一定不要使用這項功能編譯靜態庫檔案和某些軟體.
;   
;mbstring.encoding_translation = Off

; 編碼檢查順序.
;mbstring.detect_order = auto

; 當字元不能夠被轉換時,是否使用substitute_character.
;mbstring.substitute_character = none;

; 是否用加密的字元覆蓋沒有加密的字元.例如用mb_send_mail(), mb_ereg()覆蓋
; mail(), ereg()等.有效的值是0,1,2,4或者它們的組合.例如,7代表覆蓋全部.
; 0: 不覆蓋
; 1: 覆蓋mail()函數
; 2: 覆蓋str*()函數
; 4: 覆蓋ereg*()函數
;mbstring.func_overload = 0

[FrontBase]
;fbsql.allow_persistent = On
;fbsql.autocommit = On
;fbsql.default_database =
;fbsql.default_database_password =
;fbsql.default_host =
;fbsql.default_password =
;fbsql.default_user = "_SYSTEM"
;fbsql.generate_warnings = Off
;fbsql.max_connections = 128
;fbsql.max_links = 128
;fbsql.max_persistent = -1
;fbsql.max_results = 128
;fbsql.batchSize = 1000

[Crack]
; 修改下面的設定,使這與cracklib檔案夾的本地路徑相符合,只可以使用基本的檔案名稱,
; 不包含副檔名.
; crack.default_dictionary = "c:\php\lib\cracklib_dict"

[exif]
; 這組就不用譯了吧
; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS.
; With mbstring support this will automatically be converted into the encoding
; given by corresponding encode setting. When empty mbstring.internal_encoding
; is used. For the decode settings you can distinguish between motorola and
; intel byte order. A decode setting cannot be empty.
;exif.encode_unicode = ISO-8859-15
;exif.decode_unicode_motorola = UCS-2BE
;exif.decode_unicode_intel  = UCS-2LE
;exif.encode_jis =
;exif.decode_jis_motorola = JIS
;exif.decode_jis_intel  = JIS

; Local Variables:
; tab-width: 4
; End:



回 PHP 目錄
回首頁