簡介
本文並不是是對英文版 php.ini 的簡單翻譯,而是參考了衆多資料之後,結合本身的理解,
在原有 php.ini 基礎上增長了一些實用模塊的配置說明,同時對文件內容的安排進行了調整。
因爲做者不喜歡 no-free 的玩意兒,因此刪除了除 MySQL 和 PostgreSQL 之外的其餘數據庫模塊配置選項。
關於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=co
語法
該文件的語法很是簡單。空白字符和以分號開始的行被簡單地忽略。
章節標題(例如: [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擴展)中的常量,
那麼你只能在加載這些動態擴展的指令行以後使用這些常量。
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
是否在發生失敗斷言時停止腳本的執行