常用的php.ini配置项
qingheluo2019-05-06清河洛404
每个配置选项都有一个可修改范围:PHP_INI_USER 可在用户脚本(如ini_set())或Windows注册表以及.user.ini中设定
PHP_INI_PERDIR 可在php.ini,.htaccess或httpd.conf中设定
PHP_INI_SYSTEM 可在php.ini或httpd.conf中设定
PHP_INI_ALL 可在任何地方设定
名称
默认
可修改范围
说明
short_open_tag
"1"
PHP_INI_PERDIR
是否开启使用 PHP 代码开始标志的缩写形式()
precision
"14"
PHP_INI_AL...
每个配置选项都有一个可修改范围:
PHP_INI_USER 可在用户脚本(如ini_set())或Windows注册表以及.user.ini中设定
PHP_INI_PERDIR 可在php.ini,.htaccess或httpd.conf中设定
PHP_INI_SYSTEM 可在php.ini或httpd.conf中设定
PHP_INI_ALL 可在任何地方设定
名称 | 默认 | 可修改范围 | 说明 |
---|---|---|---|
short_open_tag | "1" | PHP_INI_PERDIR | 是否开启使用 PHP 代码开始标志的缩写形式( ?>) |
precision | "14" | PHP_INI_ALL | 浮点数中显示有效数字的位数 |
serialize_precision | "17" | PHP_INI_ALL | 序列化浮点数时存储的有效位数。-1表示将使用一种增强的算法对这些数字进行舍入 |
disable_functions | "" | php.ini | 禁止某些函数。值为逗号分隔的函数名列表 |
disable_classes | "" | php.ini | 禁用某些类。值为逗号分隔的类名。 |
expose_php | "1" | php.ini | 是否暴露 PHP 信息(Web 服务器信息头中添加:X-Powered-By: PHP/5.3.7) |
zend.assertions | "1" | PHP_INI_ALL | 为1生成并执行断言代码。为0生成断言代码但不执行。为-1不生成断言代码。 |
assert.exception | "0" | PHP_INI_ALL | 断言失败时是否抛出异常对象 |
assert.active | "1" | PHP_INI_ALL | 是否启用assert()断言函数 |
assert.warning | "1" | PHP_INI_ALL | 是否为每个失败的断言产生一个PHP警告(warning) |
assert.bail | "0" | PHP_INI_ALL | 在断言失败时是否中止执行 |
assert.quiet_eval | "0" | PHP_INI_ALL | 在断言表达式求值时是否禁用error_reporting |
assert.callback | NULL | PHP_INI_ALL | 断言失败时调用回调函数 |
memory_limit | "128M" | PHP_INI_ALL | 设置允许脚本分配的最大内存(以字节为单位),为-1时表示没有内存限制 |
realpath_cache_size | "4M" | PHP_INI_SYSTEM | PHP要使用的realpath缓存大小(存储的路径字符串的总字节加上与缓存项关联的数据) |
realpath_cache_ttl | "120" | PHP_INI_SYSTEM | 缓存文件或目录的realpath信息的持续时间(秒) |
arg_separator.output | "&" | PHP_INI_ALL | PHP生成的URL中使用的分隔符用于分隔参数 |
arg_separator.input | "&" | PHP_INI_PERDIR | 将输入URL解析为变量的分隔符列表(可以有多个) |
variables_order | "EGPCS" | PHP_INI_PERDIR | 要解析的全局变量及顺序,EGPCS($_ENV、$_GET、$_POST、$_COOKIE和$_SERVER) |
request_order | "" | PHP_INI_PERDIR | 变量$_REQUEST从左到右注册get、post和cookie的顺序。如未设置将使用variables_order的值 |
auto_globals_jit | "1" | PHP_INI_PERDIR | 启用后,$_SERVER、$_REQUEST和$_ENV将在第一次使用时创建,而不是在脚本启动时创建。 |
register_argc_argv | "1" | PHP_INI_PERDIR | 设置PHP是否声明argv和argc变量(将包含get信息) |
enable_post_data_reading | "1" | PHP_INI_PERDIR | 禁用将无法创建$_POST和$_FILES变量。读取post数据的唯一方法就是通过php://input包装器 |
post_max_size | "8M" | PHP_INI_PERDIR | 设置允许的最大POST数据的字节大小 |
auto_prepend_file | NULL | PHP_INI_PERDIR | 指定在主文件运行之前自动调用的文件(效果类似于每次运行之前用require函数调用) |
auto_append_file | NULL | PHP_INI_PERDIR | 指定在主文件运行之后自动调用的文件,如果使用exit()终止则不会自动调用 |
default_mimetype | "text/html" | PHP_INI_ALL | 默认情况下PHP使用的Content-Type值 |
default_charset | "UTF-8" | PHP_INI_ALL | 默认字符编码,其值将用作htmlEntities()、html_Entity_decode()和htmlSpecialChars()的默认字符编码 |
include_path | ".;/path/to/php/pear" | PHP_INI_ALL | 指定一个目录列表供require、include、fopen()、file()、readfile()和file_get_contents()函数查找文件 php.ini文件中可以使用环境变量如${LOGIN}和${USER},例:include_path=".:${USER}/php" |
open_basedir | NULL | PHP_INI_ALL | 将PHP可以访问的文件限制在指定的目录列表中,包括文件本身,如果指定目录最后不是以"/"结尾,那么如果值为"/dir/incl"将允许包含符合"/dir/incl*"格式的所有目录(如果它们存在的话) |
doc_root | NULL | PHP_INI_SYSTEM | PHP在服务器上的“根目录”。如果php配置了安全模式则不提供此目录之外的任何文件 |
user_dir | NULL | PHP_INI_SYSTEM | 在用户的php文件主目录上使用的目录的基名称,例如public_html |
user_ini.cache_ttl | "300" | PHP_INI_SYSTEM | 用户配置文件的缓存时间(秒) |
user_ini.filename | ".user.ini" | PHP_INI_SYSTEM | 用户配置文件名 |
extension_dir | "/path/to/php" | PHP_INI_SYSTEM | php应该在哪个目录中查找动态可加载扩展 |
extension | NULL | php.ini | PHP启动时动态加载的扩展 |
zend_extension | NULL | php.ini | PHP启动时要加载的动态可加载Zend扩展名(例如APD) |
cgi.check_shebang_line | "1" | PHP_INI_SYSTEM | PHP是否检查在运行脚本的顶部以"#!"开头的行 |
cgi.discard_path | "0" | PHP_INI_SYSTEM | 如果启用,脚本文件可以放置在Web树之外,所有访问通过.htaccess重定向 |
cgi.fix_pathinfo | "1" | PHP_INI_SYSTEM | 为CGI提供PATH_INFO和PATH_TRANSLATED支持 |
cgi.force_redirect | "1" | PHP_INI_SYSTEM | 在以CGI形式运行PHP的Web服务器上提供必要的安全性(iis必须关闭此项) |
cgi.nph | "0" | PHP_INI_SYSTEM | 如果启用将强制cgi每次请求始终发送状态码200 |
cgi.redirect_status_env | NULL | PHP_INI_SYSTEM | 如果cgi.force_Redirect是打开的,并且您没有在Apache或Netscape(iPlanet)Web服务器下运行,则可能需要设置一个环境变量名,让PHP知道继续执行是可以的(设置这个变量可能会导致安全问题) |
cgi.rfc2616_headers | "0" | PHP_INI_ALL | 设置PHP发送HTTP响应码时要使用哪种类型的头。如果为0发送大多Web服务器都支持支持的»RFC 3875的"Status:"头。为1时发送»RFC 2616兼容头。除非你知道你在做什么,否则推荐把它设为0 |
file_uploads | "1" | PHP_INI_SYSTEM | 是否允许HTTP文件上载 |
upload_tmp_dir | NULL | PHP_INI_SYSTEM | 文件上载时用于存储文件的临时目录。如果指定的目录不可写,将使用系统默认临时目录 |
max_input_nesting_level | 64 | PHP_INI_PERDIR | 设置输入变量($_GET、$_POST和$_COOKIE)的最大嵌套深度 |
max_input_vars | 1000 | PHP_INI_PERDIR | 接受输入变量的最大个数(分别应用于$_GET、$_POST和$_COOKIE),超过会导致E_WARNING产生 |
upload_max_filesize | "2M" | PHP_INI_PERDIR | 上传文件的最大大小,当使用整数时以字节来计算 |
max_file_uploads | 20 | PHP_INI_SYSTEM | 允许同时上传的最大文件数 |
windows.show_crt_warning | "0" | PHP_INI_ALL | 是否显示Windows CRT警告 |
safe_mode | "0" | PHP_INI_SYSTEM | 是否启用PHP的安全模式 |
safe_mode_include_dir | NULL | PHP_INI_SYSTEM | 当从这些目录及其子目录包含文件时越过UID/GID检查,否则具有不同UID/GID的文件将不能被包含。最后不是以"/"结尾,那么"/dir/incl"将允许包含符合"/dir/incl*"格式的所有目录(如果它们存在的话)。 |
safe_mode_exec_dir | "" | PHP_INI_SYSTEM | 如果开启了安全模式,程序执行函数将拒绝启动不在此目录中的程序。必须使用"/"作为目录分隔符,包括Windows中。 |
safe_mode_allowed_env_vars | "PHP_" | PHP_INI_SYSTEM | 在安全模式下,用户只能改变指定前缀的环境变量。本指令包含有一个逗号分隔的前缀列表,如果为空用户可以修改任何环境变量 |
safe_mode_protected_env_vars | "LD_LIBRARY_PATH" | PHP_INI_SYSTEM | 用户不能用putenv()来改变的环境变量,即使变量在safe_mode_allowed_env_vars设置为允许也不能改变 |