以下是配置选项的简要解释。
-
memory_limit integer
-
本指令设定了一个脚本所能够申请到的最大内存字节数。这有助于防止写得不好的脚本消耗光服务器上的可用内存。要使用此指令必须在编译的时候激活。因此configure 一行中应该包括:--enable-memory-limit。如果不需要任何内存上的限制,必须将其设为 -1。
自 4.3.2 起,当激活了 memory_limit,PHP 函数 memory_get_usage()便可以使用了。
当使用 integer类型时,其值以字节为度量单位。还可以用简化符号,说明见此 FAQ。
性能调整
名称 | 默认值 | 可修改范围 | 更新记录 |
---|---|---|---|
realpath_cache_size | "16K" | PHP_INI_SYSTEM | 自 PHP 5.1.0 起可用。 |
realpath_cache_ttl | "120" | PHP_INI_SYSTEM | 自 PHP 5.1.0 起可用。 |
以下是配置选项的简要解释。
数据处理
名称 | 默认值 | 可修改范围 | 更新记录 |
---|---|---|---|
track_vars | "On" | PHP_INI_?? | |
arg_separator.output | "&" | PHP_INI_ALL | 从 PHP 4.0.5 起可用。 |
arg_separator.input | "&" | PHP_INI_PERDIR | 从 PHP 4.0.5 起可用。 |
variables_order | "EGPCS" | PHP_INI_PERDIR | 在 PHP <= 5.0.5 时是 PHP_INI_ALL。 |
auto_globals_jit | "1" | PHP_INI_PERDIR | 从 PHP 5.0.0 起可用。 |
register_globals | "0" | PHP_INI_PERDIR | 在 PHP <= 4.2.3 时是 PHP_INI_ALL。 |
register_argc_argv | "1" | PHP_INI_PERDIR | 在 PHP <= 4.2.3 时是 PHP_INI_ALL。 |
register_long_arrays | "1" | PHP_INI_PERDIR | 从 PHP 5.0.0 起可用。 |
post_max_size | "8M" | PHP_INI_PERDIR | 在 PHP <= 4.2.3 时是 PHP_INI_ALL。从 PHP4.0.3 起可用。 |
gpc_order | "GPC" | PHP_INI_ALL | |
auto_prepend_file | NULL | PHP_INI_PERDIR | 在 PHP <= 4.2.3 时是 PHP_INI_ALL。 |
auto_append_file | NULL | PHP_INI_PERDIR | 在 PHP <= 4.2.3 时是 PHP_INI_ALL。 |
default_mimetype | "text/html" | PHP_INI_ALL | |
default_charset | "" | PHP_INI_ALL | |
always_populate_raw_post_data | "0" | PHP_INI_PERDIR | 在 PHP <= 4.2.3 时是 PHP_INI_ALL。从 PHP4.1.0 起可用。 |
allow_webdav_methods | "0" | PHP_INI_PERDIR | |
以下是配置选项的简要解释。
-
track_vars boolean
-
如果激活,则环境变量,GET,POST,Cookie 和 Server变量都能够分别在全局关联数组中找到:$_ENV,$_GET,$_POST,$_COOKIE 和 $_SERVER。
注意自 PHP 4.0.3 起,
track_vars
总是打开的。
arg_separator.output string
-
PHP 所产生的 URL 中来分隔参数的分隔符。
arg_separator.input string
-
PHP 用来将 URL 解析为变量的分隔符列表。
Note:
本指令中的每个字符都会被当成分隔符!
variables_order string
-
设定EGPCS(Environment,GET,POST,Cookie,Server)变量解析的顺序。默认设定为“EGPCS”。举例说,将其设为“GP”,会导致PHP 完全忽略环境变量,cookies 和 server 变量,并用 GET 方法的变量覆盖 POST 方法的同名变量。
参见 register_globals。
auto_globals_jit boolean
-
启用后,SERVER 和 ENV 变量在他们第一次使用后 (Just In Time)便被创建,而不是等到脚本开始运行时。如果这些变量没有在脚本总使用,启用这个变量会提高服务器性能。
要使此选项有效,PHP 配置选项 register_globals, register_long_arrays, 和 register_argc_argv 必须禁用。
register_globals boolean
-
决定是否将EGPCS(Environment,GET,POST,Cookie,Server)变量注册为全局变量。
PHP » 4.2.0 开始,本选项默认为off。
相关信息请阅读安全一章中的使用register_globals。
请注意
register_globals
不能在运行时设定(ini_set()),尽管如以上说明在主机允许时可以用.htaccess。一个 .htaccess 项目的例子:php_flag register_globals off
。Note:
register_globals
受 variables_order选项的影响。
register_argc_argv boolean
- 决定 PHP 是否定义 argv & argc变量(可能包含有 GET 信息)。 参见命令行方式。此外,本选项自PHP 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 要大。 当使用 integer类型时,其值以字节为度量单位。还可以用简化符号,说明见此 FAQ。 如果 POST 数据尺寸大于 post_max_size$_POST 和 $_FILES superglobals 便会为空。这可以以多种方式证明,例如,传递 $_GET 变量到脚本以处理数据, 也就是 <formaction="edit.php?processed=1">, 然后查看 $_GET['processed'] 是否被设置。 gpc_order string
-
设定 GET/POST/COOKIE变量解析的顺序,默认为“GPC”。举例说,将其设为“GP”,会导致 PHP 完全忽略 cookie 变量,并用 GET 方法的变量覆盖POST 方法的同名变量。
Note:
本选项不能用于 PHP 4。用 variables_order替代之。
auto_prepend_file string
-
指定在主文件之前自动解析的文件名。该文件就像调用了 include()函数一样被包含进来,因此会使用 include_path。
特殊值 none 禁止了自动前缀。
auto_append_file string
-
指定在主文件之后自动解析的文件名。该文件就像调用了 include()函数一样被包含进来,因此会使用 include_path。
特殊值 none 禁止了自动后缀。
Note: 如果脚本通过 exit()终止,则自动后缀不会发生。
default_mimetype string
-
-
自 4.0b4 起,PHP 总是默认在 HTTP 信息头 Content-type:中输出字符编码。要禁止发送字符集,将本选项设为空即可。
always_populate_raw_post_data boolean
-
总是产生 $HTTP_RAW_POST_DATA变量包含有原始的 POST 数据。否则,此变量仅在碰到未识别 MIME 类型的数据时产生。不过,访问原始 POST 数据的更好方法是php://input。$HTTP_RAW_POST_DATA对于 enctype="multipart/form-data"表单数据不可用。
allow_webdav_methods boolean
-
允许在 PHP 脚本中处理 WebDAV 的 HTTP 请求(例如PROPFIND,PROPPATCH,MOVE,COPY 等)。此选项在 PHP 4.3.2 以后便不存在了。如果要取得这些请求的POST 数据,也要设定 always_populate_raw_post_data。
参见 magic_quotes_gpc,magic-quotes-runtime和 magic_quotes_sybase。
名称 | 默认值 | 可修改范围 | 更新记录 |
---|---|---|---|
include_path | ".;/path/to/php/pear" | PHP_INI_ALL | |
doc_root | NULL | PHP_INI_SYSTEM | |
user_dir | NULL | PHP_INI_SYSTEM | |
extension_dir | "/path/to/php" | PHP_INI_SYSTEM | |
extension | NULL | 仅限于 php.ini | |
cgi.fix_pathinfo | "1" | PHP_INI_ALL | 从 PHP 4.3.0 起可用 |
cgi.force_redirect | "1" | PHP_INI_ALL | 从 PHP 4.2.0 起可用 |
cgi.redirect_status_env | NULL | PHP_INI_ALL | 从 PHP 4.2.0 起可用 |
fastcgi.impersonate | "0" | PHP_INI_ALL | 从 PHP 4.3.0 起可用 |
cgi.rfc2616_headers | "0" | PHP_INI_ALL | 从 PHP 4.3.0 起可用 |
以下是配置选项的简要解释。
?/P>
-
include_path string
-
指定一组目录用于 require(),include()和 fopen_with_path() 函数来寻找文件。格式和系统的 PATH 环境变量类似:一组目录的列表,在 UNIX 下用冒号分隔,在 Windows下用分号分隔。
?/P>
Example#1 Unix include_path
include_path=".:/php/includes"
?/P>
Example#2 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
- 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 的行为和从前一样。默认为零。用户应该修正其脚本使用SCRIPT_FILENAME 而不是 PATH_TRANSLATED。
cgi.force_redirect boolean
-
在大多数 web 服务器中以 CGI 方式运行 PHP 时很有必要用cgi.force_redirect 提供安全。PHP 默认其为 On。可以将其关闭,但风险自担。
Note:
Windows 用户:可以安全地在 IIS 之下将其关闭,事实上必须这么做。要在 OmniHTTPD或 Xitami 之下使用也必须将其关闭。
cgi.redirect_status_envstring
-
如果打开了 cgi.force_redirect,并且不是在 Apache 或Netscape(iPlanet)web 服务器之下运行,可能需要设定一个环境变量名,PHP将去寻找它来知道可以继续执行下去。
Note:
设定此变量可能会导致安全问题,首先要知道自己在做什么。
fastcgi.impersonate string
-
IIS(在基于 WINNT 的操作系统上)中的 FastCGI 支持模仿客户端安全令牌的能力。这使得IIS 能够定义运行时所基于的请求的安全上下文。Apache 中的 mod_fastcgi不支持此特性(03/17/2002)。如果在 IIS 中运行则设为 1。默认为 0。
cgi.rfc2616_headers int
-
指定 PHP 在发送 HTTP 响应代码时使用何种报头。如果设定为 0,PHP 发送一个Status: 报头,Apache 和其它 web server 都支持。如果此选项设定为 1,PHP 将发送 » RFC2616 兼容的报头。除非你知道自己在做什么,否则保留其值为 0。
文件上传
?/P>
名称 | 默认值 | 可修改范围 | 更新记录 |
---|---|---|---|
file_uploads | "1" | PHP_INI_SYSTEM | 在 PHP <= 4.2.3 时是 PHP_INI_ALL。从 PHP4.0.3 起可用。 |
upload_tmp_dir | NULL | PHP_INI_SYSTEM | |
upload_max_filesize | "2M" | PHP_INI_PERDIR | 在 PHP <= 4.2.3 时是 PHP_INI_ALL。 |
以下是配置选项的简要解释。
?/P>
-
file_uploads boolean
-
是否允许 HTTP 文件上传。参见upload_max_filesize,upload_tmp_dir和 post_max_size指令。
当使用 integer类型时,其值以字节为度量单位。还可以用简化符号,说明见此 FAQ。
upload_tmp_dir string
-
文件上传时存放文件的临时目录。必须是 PHP进程所有者用户可写的目录。如果未指定则 PHP 使用系统默认值。
upload_max_filesize integer
-
所上传的文件的最大大小。
当使用 integer类型时,其值以字节为度量单位。还可以用简化符号,说明见此 FAQ。
普通 SQL
?/P>
名称 | 默认值 | 可修改范围 | 更新记录 |
---|---|---|---|
sql.safe_mode | "0" | PHP_INI_SYSTEM | |
以下是配置选项的简要解释。
?/P>
-
sql.safe_mode boolean
-
?/P>