一般來(lái)說(shuō)你不需要改變PHP設置,它根據默認的配置通常就能很好的工作。但作為PHP設計者的開(kāi)發(fā)人員們考慮到用戶(hù)可能偶爾需要針對特定應用程序對PHP語(yǔ)言的一些功能進(jìn)行調整。因此,他們將一些PHP變量通過(guò)名為php.ini的配置文件顯示出來(lái)。此配置文件允許用戶(hù)調整PHP多項功能,包括設置文件路徑以及目錄、改變會(huì )話(huà)以及數據庫參數,以及激活擴展選項(activating extensions)等。
在開(kāi)始我們的介紹之前,我們將對PHP配置文件的組織方式進(jìn)行簡(jiǎn)要的說(shuō)明。文件命名為php.ini的原因之一就是它遵循許多Windows應用程序中INI文件的常見(jiàn)結構。它是一個(gè)ASCII文本文件,并且被分成幾個(gè)不同名稱(chēng)的部分,每一部分包括與之相關(guān)的各種變量。每一部分類(lèi)似于如下結構:
[MySection]
variable="value"
anothervariable="anothervalue"
各部分的名稱(chēng)通過(guò)方括號括起來(lái)放在頂部,然后將是一對對任意數量的“變量名——值”,每一對占單獨一行。同常規的PHP代碼要求一樣,變量名區分大小寫(xiě)且不能包含空格,變量的值可以是數字、字符串,或者布朗型(Boolean)。
每一行如果以分號開(kāi)頭則表明該行是注釋語(yǔ)句。這也使得允許或禁止php功能變得非常簡(jiǎn)單。你只需要將相關(guān)語(yǔ)句注釋而無(wú)需刪除,該語(yǔ)句就不會(huì )被系統解析。特別是當你希望在一段時(shí)間以后重新打開(kāi)某種功能的時(shí)候特別方便,因為你不需要在配置文件中將此行刪除。
為了便于PHP識別,php.ini文件必須要么放在當前目錄,要么放在$PHPRC環(huán)境變量所定義的目錄中,或者是在編譯時(shí)所指定的目錄(對Windows PHP來(lái)說(shuō)即Windows主目錄)。
在通過(guò)修改php.ini文件改變PHP配置之后,需要重啟Web服務(wù)器以使配置改變生效(當然這是在通過(guò)Web服務(wù)器使用PHP的情況下)。對于PHP命令行使用模式,每次只要涉及到PHP二進(jìn)制程序的時(shí)候系統都會(huì )讀取配置文件。
這是配置文件漫游的第一站也是非常重要的一站:語(yǔ)言解釋程序相關(guān)選項。第一行是引擎變量,它將控制PHP引擎是“on”還是“off”。關(guān)閉引擎則意味著(zhù)嵌入的PHP代碼將不會(huì )被Web服務(wù)器所解析。通常將其關(guān)閉是毫無(wú)意義的,所以保持開(kāi)啟狀態(tài)。
engine = On
short_open_tag則控制解析器是否識別簡(jiǎn)寫(xiě)的<?...?>標志,即將其等價(jià)為標準<?php...?>標志。如果預計簡(jiǎn)寫(xiě)標志會(huì )和別的語(yǔ)言產(chǎn)生沖突,或者希望對PHP代碼采用嚴格的語(yǔ)法規則,那么可以將其關(guān)閉。
short_open_tag = On
通常而言,在PHP腳本中的會(huì )話(huà)、cookie或者HTTP文件頭數據必須在腳本產(chǎn)生任何輸出之前發(fā)送出去。如果在你的應用程序中不可能實(shí)現,你可以通過(guò)允許PHP稱(chēng)之為output buffering功能來(lái)達到這一目的,此功能通過(guò)output_buffering變量進(jìn)行控制。
如果打開(kāi)output buffering,PHP將把腳本產(chǎn)生的運行結果存放在特殊的內存緩沖區域內,并在得到明確指示時(shí)才將其發(fā)送出去。通過(guò)這樣的方式,你甚至可以在腳本中部或者腳本尾部發(fā)送特殊的HTTP文件頭以及cookie數據。當然,這樣會(huì )造成腳本運行性能一定程度的下降。
output_buffering = Off
你還可以為output_buffering變量賦值以指定緩沖區域大小,例如:
output_buffering = 2048
當PHP啟動(dòng)的時(shí)候,它將在Web服務(wù)器標準頭信息中添加PHP版本號信息。如果希望關(guān)閉此功能,可以將expose_php設置為false。這項功能非常有用,例如,可以在Web服務(wù)器上屏蔽此信息以防范潛在的黑客攻擊。
expose_php = On
現在來(lái)看看如何設置查找路徑以及差錯控制。
可以通過(guò)include_path變量設置PHP查找路徑。它允許包括一系列目錄。在相關(guān)文件調用缺少指定路徑的情況下,PHP將自動(dòng)檢查這些目錄。
如果有頻繁使用的函數庫或類(lèi),也可以將其位置寫(xiě)在這里以方便查找。這也是一個(gè)很好的添加PHP的PEAR目錄路徑的地方,此路徑將包括很多可重用的類(lèi)。
include_path = ".:/usr/local/lib/php/pear:"
Windows用戶(hù)可以通過(guò)分號分割路徑名來(lái)指定多路徑;UNIX用戶(hù)則需要使用冒號。