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
本选项需要使用阿帕契的模组方式使用 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 三种模组的特殊字元,包含单引号、双引号、反斜线、及空字元 (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 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
设定每个处理程式最多开几个 Postgres 连线,包括长期连线。
sybase.allow_persistent boolean
设定是否允许 Sybase 资料库长期连线 (persistent connections),会影响 sybase_pconnect() 函式。
sybase.max_persistent integer
设定每个处理程序最多保持几个 Sybase 长期连线。
sybase.max_links integer
设定每个处理程式最多开几个 Sybase 连线,包括长期连线。
sybct.allow_persistent boolean
设定是否允许 Sybase-CT 资料库长期连线 (persistent connections),内定值是开启的。
sybct.max_persistent integer
设定每个处理程序最多保持几个 Sybase-CT 长期连线。内定值为 -1 表示无限制。
sybct.max_links integer
设定每个处理程式最多开几个 Sybase-CT 连线,包括长期连线。内定值为 -1,表示没有限制。
sybct.min_server_severity integer
设定 Sybase-CT 伺服器错误报告的最少笔数。内定值为 10。
sybct.min_client_severity integer
设定 Sybase-CT 客户端错误报告的最少笔数。内定值为 10。
sybct.login_timeout integer
设定 Sybase-CT 最久可以使用的登入时间。内定值为 1 分钟。
sybct.timeout integer
设定 Sybase-CT 的 query 操作时间限制。内定值为无限制。
sybct.hostname string
设定 Sybase-CT 可连线机器名称。内定值不设限
ifx.allow_persistent boolean
设定是否允许 Informix 资料库长期连线 (persistent connections),会影响 ifx_pconnect() 函式。
ifx.max_persistent integer
设定每个处理程序最多保持几个 Informix 长期连线。
ifx.max_links integer
设定每个处理程式最多开几个 Informix 连线,包括长期连线。
ifx.default_host string
设定 Informix 内定连线的伺服器名称,供 ifx_connect() 或 ifx_pconnect() 函式使用。
ifx.default_user string
设定 Informix 内定连线的使用者帐号,供 ifx_connect() 或 ifx_pconnect() 函式使用。
ifx.default_password string
设定 Informix 内定连线的使用者密码,供 ifx_connect() 或 ifx_pconnect() 函式使用。
ifx.blobinfile boolean
设定 Informix 长位元物件模式,0 表在记忆体;1 表在档案中。亦可以在 PHP 程式中使用 ifx_blobinfile_mode() 函式来修改。
ifx.textasvarchar boolean
设定 Informix 文字模式内定值,0 表传回 blob 的代码;1 表传回 varchar 字串。亦可在 PHP 程式中使用 ifx_textasvarchar() 函式来修改设定。
ifx.byteasvarchar boolean
设定 Informix 位元组模式内定值,0 表传回 blob 的代码;1 表传回 varchar 字串。亦可在 PHP 程式中使用 ifx_byteasvarchar() 来修改设定。
ifx.charasvarchar boolean
设定 Informix 传回字串的字尾空格是否要自动去除。
ifx.nullformat boolean
设定 NULL 栏位的传回方式,true 表示传回字串 NULL,false 表格传回字串 ""。亦可在 PHP 程式中以 ifx_nullformat() 修改。
bcmath.scale integer
设定 BC 高精确度函式库的小数点位数。
browscap string
设定浏览器的开档能力名。
uodbc.default_db string
设定 ODBC 内定连线的资料库名称,供 odbc_connect() 或 odbc_pconnect() 函式使用。
uodbc.default_user string
设定 ODBC 内定连线的使用者帐号,供 odbc_connect() 或 odbc_pconnect() 函式使用。
uodbc.default_pw string
设定 ODBC 内定连线的使用者密码,供 odbc_connect() 或 odbc_pconnect() 函式使用。
uodbc.allow_persistent boolean
设定是否允许 ODBC 资料库长期连线 (persistent connections),会影响 odbc_pconnect() 函式。
uodbc.max_persistent integer
设定每个处理程序最多保持几个 ODBC 长期连线。
uodbc.max_links integer
设定每个处理程式最多开几个 ODBC 连线,包括长期连线。
以下和 session 有关的设定值,都在 PHP 4.x 以上的版本方支援。在 php.ini 的设定档中。
session.save_handler
定义 session 储存资料的档案名称。内定值为 files。
session.save_path
定义 session 储存资料的档案路径。内定值为 /tmp。
session.name
设定 session 所使用的 cookie 名称。内定值为 PHPSESSID。
session.auto_start
设定 session 是否自动开启。内定值为 0 (否)。
session.lifetime
设定 cookie 送到浏览器后的保存时间,单位为秒。内定值为 0,表示直到浏览器关闭。
session.serialize_handler
定义连续/解连续资料的标头,本功能只有 WDDX 模组或 PHP 内部使用。内定值为 php。
session.gc_probability
设定每笔要求回应时的废物蒐集 (gc, garbage collection) 处理机率。内定值为 1。
session.gc_maxlifetime
设定废物被清除前的存活秒数。
session.extern_referer_check
决定参照到客户端的 Session 代码是否要删除。有时在安全或其它考量时,会设定不删除。内定值为 0。
session.entropy_file
设定 session 代码建立时,使用外部高熵值资源或档案来建立,例如 UNIX 系统上的 /dev/random 或 /dev/urandom。
session.entropy_length
设定 session 从高熵值资源读取的位元组数。内定值为 0。
session.use_cookies
设定是否要将 session 变成 cookie 存在使用者端。内定值为 1,表是开启本功能。