php.ini设定细部选项
2024年02月28日
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,表是开启本功能。