这里并不是全部的php指令的列表。各种指令被列在其相应位置,例如有关session指令的信息就在session一章中
Httpd选项
表格4-2.httpd选项
名称 | 默认值 | 类别 |
async_send | "0" | PHP_INI_ALL |
语言选项
表格4-.。语言和杂类配置选项
名称 | 默认值 | 类别 |
short_open_tag | on | PHP_INI_SYSTEM|PHP_INI_PERDIR |
asp_tags | off | PHP_INI_SYSTEM|PHP_INI_PERDIR |
precision | "14" | PHP_INI_ALL |
y2k_compliance | off | PHP_INI_ALL |
allow_call_time_pass_reference | on | PHP_INI_SYSTEM|PHP_INI_PERDIR |
expose_php | on | PHP_INI_SYSTEM |
以下是该配置选项的简要解释:
short_open_tag boolean
决定是否允许使用php代码开始标志的缩写形式(<? ?>).如果要和XML结合使用php,可以禁止此选项,以便于嵌入使用<?xml ?>.否则还可以通过哦php来输出。例如:<?php echo '<?XML version="1.0"; ?>';?>.如果禁用了,必须使用php代码开始标志的完整形式(<?php ?>)
注:本指令也会影响到缩写形式<?=,他和<?echo等价,使用此缩写需要short_open_tag的值为 On。
asp_tags boolean
除了通常的<?php ?>标识之外,还允许使用asp风格的标志<% %>.这也包括了输出变量的缩写<%=$value%>.
precision integer
浮点数中显示有效数字的位数。
y2k_compliance boolean
强制 2000 年兼容(在不兼容的浏览器中会出想问题)
allow_call_time_reference boolean
是否启动在函数调用时强制参数被按照引用传递。此方法已经不被赞成,
并在PHP/Zend未来的版本中可能不再支持。鼓励使用的方法是在函数定义中指定哪些参数应该用引用传递。鼓励大家尝试关闭子选项并确保脚本能够正常运行,也确保该脚本能够在未来的版本中运行(每次使用此恶性,都会收藏一条警告。参数会被按值传递而不是按照引用传递)
expose_php boolean
决定是否暴露php被安装在服务器上(例如在web服务器的信息头上加上其签名)。没有任何安全上的威胁。只是让客户端能够知道是否在服务器端安装了php
资源限制:
表格 4-4 。资源限制
名称 | 默认值 | 类型 |
memory_limit | '8M' | PHP_INI_ALL |
以下是配置选项的简要解释
memory_limit integer
本指令设定了一个脚本所能申请到的最大内存字节数,这有助于防止写的不好的脚本消耗光服务器上的可用内存。要使用该指令必须在编译的时候激活,因此 configure 一行中应该包括:--enable-memory-limit.如果不需要任何内存上的显示,必须将其设为-1.
自从4.3.2 起,当激活了memory_limit,PHP函数memory_get_usage()成为可用。
数据处理
表格 4-5.数据处理配置选项:
名称 | 默认值 | 类型 |
track_vars | 'on' | PHP_INI_?? |
arg_separator.output | '&' | PHP_INI_ALL |
arg_separator.input | '&' | PHP_INI_SYSTEM|PHP_INI_PERDIR |
variables_order | 'EGPCS' | PHP_INI_ALL |
register_globals | 'OFF' | PHP_INI_PERDIR|PHP_INI_SYSTEM |
register_argc_argv | 'On' | PHP_INI_PERDIR|PHP_INI_SYSTEM |
register_long_arrays | 'On' | PHP_INI_PERDIR|PHP_INI_SYSTEM |
post_max_size | '8M' | PHP_INI_STSTEM|PHP_INI_PERDIR |
gpc_order | 'GPC' | PHP_INI_ALL |
auto_prepend_file | '' | PHP_INI_SYSTEM|PHP_INI_PERDIR |
auto_append_file | '' | PHP_INI_SYSTEM|PHP_INI_PERDIR |
default_mimetype | 'text/html' | PHP_INI_ALL |
default_charset | 'iso-8859-1' | PHP_INI_ALL |
always_populate_raw_post_data | '0' | PHP_INI_SYSTEM|PHP_INIDIR |
allow_webdav_methods | '0' | PHP_INI_SYSTEM|PHP_INI_PERDIR |
以下是该配置选项的简要解释:
track_vars boolean
如果激活,则环境变量,GET,POST,Cookie和Server变量都能够分别在全局关联数组中找到:$_ENV,$_GET,$_POST,$_COOKIE 和 $_SERVER.
注意自PHP4.0.3起,track_vars总是打开的
arg_separator.output string
php所产生的url中来分割参数的分隔符。
arg_separator.input string
PHP用来将url解析为变量的分隔符列表。
注:本指令中的每个字符都会被当成分隔符!
variables_order string
设定EGPCS(Environment,GET,POST,Cookie,Server)变量解析的顺序。默认设定为:"EGPCS".举例说,将其设为‘GP’,会导致PHP完全忽略环境变量,coolies和server变量,
并用GET方法的变量覆盖POST方法的同名变量
register_globals boolean
决定是否将EGPCS(Environment.GET,POST,Cookie,Server)变量注册为全局变量。
例如,如果register_globals=on,那么URL http://www.examply.com/test.php?id=3将产生$id.或者从$_SERVER['DOCUMENT_ROOT']得来$DOCUMENT_ROOT.如果不想用户数据吧全局域弄乱的话可以讲此选项关闭。
自PHP4.2.0开始,本指令默认为off。推荐使用php的“预定义变量”来替代,例如“超全局变量”:$_ENV,$_GET,$_pOST,$_COOKIE和$_SERVER.
请注意:register_globals不能运行时设定ini_set,尽管如以上说明在主机允许时可以用.htaccess.一个.htaccess项目的例子:php_flag register_globals on.
注:register_globals 受variables_order指令的影响
regiser_argc_argv boolean
决定PHP是否定义argv&argc变量(可能含有GET信息)
参见命令行方式,本选项自4.0.0起可用,在此之前总是on
register_long_arrays boolean
设定PHP是否注册已过时的$http_*_VARS之类的预定义变量。如果为on(默认值),则类似$HTTP_GET_VARS的php变量会被注册。如果不使用,为性能考虑,建议关闭此选项,而使用超全局数组例如$_GET替代之
本指令自php5.0.0起可用
post_max_size integer
设定post数据所允许的最大大小。此设定也影响文件上传。该值必须大于upload_max_filesize
如果配置脚本中激活了内存限制,memory_limit也会影响文件上传。通常说memory_limit应该比post_max_size要大
gpc_order string
设定 GET/POST/COOKIE变量解析的顺序,默认为“GPC”,举例说 将其设为“GP”,会导致php完全忽略cookie变量。并用GET方法覆盖POST方法的同名变量
注:本选项不能用于php4.用variables_order替代之。
auto_prepend_file string
指定在主文件之前自动解析的文件名。该文件就像调用了include()函数一样被包含进来。因此会使用include_path.
特殊值none禁止了自动前缀
auto_append_file string
指定在主文件之后自动解析的文件名。该文件就像调用了include()函数一样被包含进来,因此会使用include_path.
特殊值none禁止了自动后缀
注:如果脚本通过exit()终止,则自动后缀不会发生
default_mimetype string
default_charset string
自4.0b4起,php总是默认在http信息头Content-type:中输出字符编码。要禁止发送字符集。将本选项设为空即可。
always_populate_raw_post_data boolean
总是增加$HTTP_RAW_POST_DATA变量。
allow_webdav_methods boolean
允许在php脚本中处理WebDav的Http请求(例如 PROPFIND,PROPPATCH,MOVE,COPY等)。
如果要取得这些请求的POST数据,也要设定always_populate_raw_post_data.
路径和目录
表格4-6 路径和目录配置选项
名称 | 默认值 | 类型 |
include_path | PHP_INCLUDE_PATH | PHP_INI_ALL |
doc_root | PHP_INCLUDE_PATH | PHP_INI_SYSTEM |
user_dir | NULL | PHP_INI_SYSTEM |
extension | PHP_EXTENSION_DIR | PHP_INI_SYSTEM |
cgi.fix_pathinfo | "0" | PHP_INI_SYSTEM |
cgi.force_redirect | "1" | PHP_INI_SYSTEM |
cgi.redirect_status_env | "" | PHP_INI_SYSTEM |
fastcgi.impersonate | "0" | PHP_INI_SYSTEM |
cgi.rfc2616_headers | "0" | PHP_INI_SYSTEM |
include_path string
指定一组目录用于require(),include()和fopen_width_path函数来寻找文件。格式和系统的PATH环境变量类似;一组目录的列表,在UNIX下用冒号分隔,在windows下用分号分隔
例子 4-3.UNIX include_path
include_path=".:/php/includes"
例子 4-4. windows include_path
include_path=".;c:\php\includes"
在包含路径中使用,可以允许相对路径,它代表当前目录。
doc_root string
php在服务器上的根目录。仅在非空时使用。如果php被配置为安全模式,则此目录之外的文件一概不被解析。如果php编译时没有指定FORCE_REDIRECT.并且任何web服务器(除了iis)中医CGI方式运行php,则应该设定doc_root.替代方案是使用下面的cgi.force_redirect配置选项
user_dir string
在用户目录之下使用php文件的基本目录名,例如public_html
extension_dir string
php 用来寻找动态连接扩展库的目录。
extension string
当php启动时所加载的动态连接扩展库
cgi.fix_pathinfo boolean
对CGI提供了真正地PATH_INFO/PATH_TRANSLATED 支持。以前PHP的行为试讲PATH_TRANSLATED设为SCRIPT_FILENAME,而不管PATH_INFO是什么。有关PATH_INFO的更多意见见cgi规格。将此值设为1将使PHP CGI 修正其路径以遵守规格。
设为0将使php的行为和从前一样。默认为0.用户应该修正其脚本使用
SCRIPT_FILENAME而不是PATH_TRANSLATED
cgi.force_redirect
在大多数web服务器中以CGI方式运行php时很有必要用cgi.force_redirect提供安全。php默认为on。可以将其关闭,但风险自担
注:windows用户:可以安全的在iis之下将其关闭,事实上必须这么做。要在omniHTTPD或Xitami之下使用也必须将其关闭
cgi.redirect_status_env string
如果打开了cgi.force_redirect,并不是在Apache或Netscape(iPlanet)web服务器之下运行,可能需要设定一个环境变量名,php将去寻找他来指导可以继续执行下去
注:设定此变量可能会导致安全问题,首先要知道自己在作什么
fastcgi.impersonate string
IIS(在基于WINNT的操作系统上)中的FastCGI支持磨坊客户端安全令牌的能力。这使得IIS能够定义运行时所基于的请求的安全上下文。Apache中的mod_fastcgi不支持此特性。如果在IIS中运行则设为1.默认为0.
cgi.rfc2616_headers int
指定php在发送HTTP相应代码时使用何种报头。如果设定为0,php发送一个status:报头,Apache和其他web server都支持,如果此选项设定为1,php将发送efc2616兼容的报头。
除非你知道自己在做什么,否则保留其值为0.
、文件上传
表格4-7文件上传配置选项
名称 | 默认值 | 类型 |
file_uploads | '1' | PHP_INI_SYSTEM |
upload_tmp_dir | NULL | PHP_INI_SYSTEM |
upload_max_filesize | '2M' | PHP_INI_SYSTEM|PHP_INI_PERDIR |
以下是配置选项的简要解释:
file_uploads boolean
是否允许HTTP文件上传。参见uploads_max_filesize,upload_temp_dir和post_max_size指令。
upload_tmp_dir string
文件上传时存放文件的临时目录。必须是PHP进程所有者用户可写的目录。如果未指定则php使用系统默认值
upload_max_filesize integer
所上传文件的最大大小
普通SQL
表格4-8.普通sql配置选项
名称 | 默认值 | 类型 |
sql.safe_mode | '0' | PHP_INI_SYSTEM |
以下是该配置选项的简要解释
sql.safe_mode boolean
调试器配置选项
debugger.host string
调试器所使用的主机的DNS命或多IP地址。
debugger.port string
调试器所用的端口号
debugger.enabled boolean
是否启动调试器