一般來說你不需要改變PHP設置,它根據默認的配置通常就能很好的工作。但作為PHP設計者的開發人員們考慮到用戶可能偶爾需要針對特定應用程序對PHP語言的一些功能進行調整。因此,他們將一些PHP變量通過名為php.ini的配置文件顯示出來。此配置文件允許用戶調整PHP多項功能,包括設置文件路徑以及目錄、改變會話以及數據庫參數,以及激活擴展選項(activating extensions)等。
在開始我們的介紹之前,我們將對PHP配置文件的組織方式進行簡要的說明。文件命名為php.ini的原因之一就是它遵循許多Windows應用程序中INI文件的常見結構。它是一個ASCII文本文件,並且被分成幾個不同名稱的部分,每一部分包括與之相關的各種變量。每一部分類似於如下結構:
[MySection]
variable="value"
anothervariable="anothervalue"
各部分的名稱通過方括號括起來放在頂部,然後將是一對對任意數量的“變量名——值”,每一對占單獨一行。同常規的PHP代碼要求一樣,變量名區分大小寫且不能包含空格,變量的值可以是數字、字符串,或者布朗型(Boolean)。
每一行如果以分號開頭則表明該行是注釋語句。這也使得允許或禁止PHP功能變得非常簡單。你只需要將相關語句注釋而無需刪除,該語句就不會被系統解析。特別是當你希望在一段時間以後重新打開某種功能的時候特別方便,因為你不需要在配置文件中將此行刪除。
為了便於PHP識別,php.ini文件必須要麼放在當前目錄,要麼放在$PHPRC環境變量所定義的目錄中,或者是在編譯時所指定的目錄(對Windows PHP來說即Windows主目錄)。
在通過修改php.ini文件改變PHP配置之後,需要重啟Web服務器以使配置改變生效(當然這是在通過Web服務器使用PHP的情況下)。對於PHP命令行使用模式,每次只要涉及到PHP二進制程序的時候系統都會讀取配置文件。
這是配置文件漫游的第一站也是非常重要的一站:語言解釋程序相關選項。第一行是引擎變量,它將控制PHP引擎是“on”還是“off”。關閉引擎則意味著嵌入的PHP代碼將不會被Web服務器所解析。通常將其關閉是毫無意義的,所以保持開啟狀態。
engine = On
short_open_tag則控制解析器是否識別簡寫的<?...?>標志,即將其等價為標准<?php...?>標志。如果預計簡寫標志會和別的語言產生沖突,或者希望對PHP代碼采用嚴格的語法規則,那麼可以將其關閉。
short_open_tag = On
通常而言,在PHP腳本中的會話、cookie或者HTTP文件頭數據必須在腳本產生任何輸出之前發送出去。如果在你的應用程序中不可能實現,你可以通過允許PHP稱之為output buffering功能來達到這一目的,此功能通過output_buffering變量進行控制。
如果打開output buffering,PHP將把腳本產生的運行結果存放在特殊的內存緩沖區域內,並在得到明確指示時才將其發送出去。通過這樣的方式,你甚至可以在腳本中部或者腳本尾部發送特殊的HTTP文件頭以及cookie數據。當然,這樣會造成腳本運行性能一定程度的下降。
output_buffering = Off
你還可以為output_buffering變量賦值以指定緩沖區域大小,例如:
output_buffering = 2048