php.ini 或 php3.ini 是 PHP 在啟動時會讀取的設定檔。該檔案的存放路徑為 /usr/local/lib/。在 PHP 3.x 版的設定檔為 php3.ini;而在 PHP 4.x 版改為 php.ini。若 PHP 安裝成伺服器的模組,則在 Web 服務器啟動執行時會讀取,之後就不再讀取,因此改動配置的話要重新啟動 Web 服務器。若使用獨立 PHP CGI 方式,則每次都讀一次。
要看目前的系統配置,可以用 phpinfo() 看到。以下為選項配置
php_value name value
組態變數名稱和值。本選項需 PHP 4.x 版之後才能使用。
php_flag name on|off
配置標誌布爾變數選項。本選項需 PHP 4.x 版之後才能使用。
php_admin_value name value
配置 Apache 的設定檔變數。原來在 .htaccess 的配置改到這個選項配置。本選項需 PHP 4.x 版之後才能使用。
php_admin_flag name on|off
配置布爾變數當標誌。本選項需 PHP 4.x 版之後才能使用。
asp_tags boolean
配置 PHP 程式是否解析以 ASP Script 文法 <% %> 的標記 (tag)。本選項在 PHP 3.0.4 之後才可使用。更多的細節可以參考 嵌入方法 的部份。
auto_append_file string
配置本選項可以讓指定的檔案附加在原 PHP 程式後面自動執行。若 PHP 程式中有用到 exit() 函數,則指定的檔案不會執行。參數 string 即為指定自動執行的檔案。
auto_prepend_file string
配置本選項可以讓指定的檔案在原 PHP 程式之前自動執行。參數 string 即為指定自動執行的檔案。
cgi_ext string
本選項配置 CGI 程式的副檔名。
display_errors boolean
本選項配置是否要將執行的錯誤資訊顯示在使用者的瀏覽器上。
doc_root string
設定管理員的檔案及 PHP 檔案放置的根目錄。
engine boolean
本選項需要使用apache的模組方式使用 PHP。可配置是否要使用 PHP 引擎。在 httpd.conf 中加入 php3_engine on/off 亦可配置某目錄或某虛擬網站是否要用 PHP 解析器。
error_log string
本選項用來配置錯誤記錄檔案。在 UNIX 系統上參數 string 即為檔案名稱。Windows NT 會將記錄記在事件檢視器的日誌之中。Windows 95/98 則不支援系統記錄。
error_reporting integer
本選項用來配置系統記錄的等級。參數 integer 即為等級的級數標誌,可以加在一起,預設值為 7,見下表
級數 說明
1 一般的錯誤
2 一般的警告
4 解析錯誤
8 非關鍵的警告
open_basedir string
本選項用來配置提供 PHP 存取的最底層目錄。從該指定目錄之下的檔案或目錄,PHP 程式才能存取。使用本選項主要是為了系統安全性的考慮。參數 string 即為要限制的最底層目錄節點。值得注意的是在 UNIX 系統中,若該節點之下的檔案或目錄有符號鏈結 (symbolic link),則可能會讓使用本選項的目的打折,因此在目錄的設計上考慮,也是 Webmaster 的重要任務。預設值是所有檔案均可存取。在 PHP 3.0.7 版之後,可以配置多個底層目錄。
gpc_order string
配置 GET/POST/COOKIE 三種模組的順序及規則。參數 string 即為要配置的規則,例如:配置成 "GP" 表示忽視 cookie,並在存取方法 (method) 相同時,以 POST 取代 GET。
ignore_user_abort string
預設值為 Off。用來配置當傳輸未完成時,使用者端斷線是要繼續處理。
include_path string
為 PHP 程式中 require、include 及 fopen_with_path 等函數的檔案搜尋路徑。在 UNIX 或 Windows 中的斜線方向不同。
log_errors boolean
指定程式錯誤時是否要記錄在 log 檔案中。
magic_quotes_gpc boolean
配置 GET/POST/COOKIE 三種模組的特殊字元,包含單引號、雙引號、反斜線、及Null 字元 (NUL) 是否要自動加入反斜線當溢出字元。
magic_quotes_runtime boolean
配置返回資料是否自動加入反斜線當溢出字元。
magic_quotes_sybase boolean
配置 sybase 資料中單引號要自動加上反斜線當溢出字元。
max_execution_time integer
配置程式最久執行時間。單位是秒。
memory_limit integer
配置程式最多使用多少記憶體。
short_open_tag boolean
配置是否使用短的 PHP 標記 (<? ?>)。若不使用,則必須要用 <?php 作為程式的開頭,若要使程式合乎 XML 的標準則要關閉本功能。
track_errors boolean
開啟本選項可使最後的錯誤資訊跟著全域變數 $php_errormsg。
track_vars boolean
開啟本選項可讓使用者輸入的字串自動解析到變數之中,而不用自己處理。
upload_tmp_dir string
指定上傳檔案臨時路徑。
user_dir string
指定使用者根目錄的路徑。
warn_plus_overloading boolean
若開啟本選項,字串間就只能用英文的句號 (.) 連結,而不能用加號 (+) 連結字串。
SMTP string
在 Windows 系列作業系統中,用來指定 SMTP 伺服器,供 mail 函數使用。參數 string 為 SMTP 伺服器名字。
sendmail_from string
配置 "From: " 字串供 Windows 系列作業系統使用 mail 函數。
sendmail_path string
配置 sendmail 程式的放置路徑。例如 /usr/sbin/sendmail。
safe_mode boolean
配置 PHP 在安全模式下執行。
safe_mode_exec_dir string
配置安全模式程式執行的路徑。
debugger.host string
指定遠端調試的伺服器名稱,可以是 IP 或 Domain Name。
debugger.port string
配置遠端調試伺服器的連接埠 (port)。
debugger.enabled boolean
配置是否可以為偵錯模式。
enable_dl boolean
本選項要使用apache模組 (Apache module) 的方式才有效。用來配置 PHP 的 dl() 函數可否作用。當系統處於安全模式 (safe-mode) 時,本選項 enable 也無法使用 dl() 函數。
extension_dir string
配置動態函數的路徑。
extension string
PHP 啟動時所要載入的動態擴充功能。
mysql.allow_persistent boolean
配置是否允許 MySQL 資料庫持續串連 (persistent connections),會影響 mysql_pconnect() 函數。
mysql.max_persistent integer
配置每個處理常式最多保持幾個 MySQL 持續串連。
mysql.max_links integer
配置每個處理常式最多開幾個 MySQL 串連,包括持續串連。
msql.allow_persistent boolean
配置是否允許 mSQL 資料庫持續串連 (persistent connections),會影響 msql_pconnect() 函數。
msql.max_persistent integer
配置每個處理常式最多保持幾個 mSQL 持續串連。
msql.max_links integer
配置每個處理常式最多開幾個 mSQL 串連,包括持續串連。
pgsql.allow_persistent boolean
配置是否允許 Postgres 資料庫持續串連 (persistent connections),會影響 pg_pConnect() 函數。
pgsql.max_persistent integer
配置每個處理常式最多保持幾個 Postgres 持續串連。
pgsql.max_links integer