簡介
本文並非是對英文版 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中。