php.ini 配置详解【转载】
[PHP]
engine = On #是否启用PHP解析引擎
zend.ze1_compatibility_mode = Off #是否在Last-Modified应答头中放置该PHP脚本的最后修改时间
short_open_tag = On #使用简洁标志
asp_tags = Off #不允许ASP类标志
precision = 12 #浮点型数据显示的有效期
y2k_compliance = On #是否强制打开2000年适应(可能在非Y2K适应的浏览器中导致问题)。
output_buffering = 0 #; 输出缓冲区大小(字节)。建议值为4096~8192。
; 输出缓冲允许你甚至在输出正文内容之后再发送HTTP头(包括cookies)。
; 其代价是输出层减慢一点点速度。
; 设置输出缓冲可以减少写入,有时还能减少网络数据包的发送。
; 这个参数的实际收益很大程度上取决于你使用的是什么Web服务器以及什么样的脚本
zlib.output_compression = Off zlib输出压缩
implicit_flush = Off #是否要求PHP输出层在每个输出块之后自动刷新数据。
; 这等效于在每个 print()、echo()、HTML块 之后自动调用flush()函数。
; 打开这个选项对程序执行的性能有严重的影响,通常只推荐在调试时使用。
; 在CLI SAPI的执行模式下,该指令默认为 On 。
unserialize_callback_func=
serialize_precision = 100 #; 将浮点型和双精度型数据序列化存储时的精度(有效位数)。
; 默认值能够确保浮点型数据被解序列化程序解码时不会丢失数据。
allow_call_time_pass_reference = On #是否强迫在函数调用时按引用传递参数(每次使用此特性都会收到一条警告)。
; php反对这种做法,并在将来的版本里不再支持,因为它影响到了代码的整洁。
; 鼓励的方法是在函数声明里明确指定哪些参数按引用传递。
; 我们鼓励你关闭这一选项,以保证你的脚本在将来版本的语言里仍能正常工作。
safe_mode = Off #安全模式
safe_mode_gid = Off
safe_mode_include_dir = #在安全模式下,该组目录和其子目录下的文件被包含时,将跳过UID/GID检查。
换句话说,如果此处的值为空,任何UID/GID不符合的文件都不允许被包含。
这里设置的目录必须已经存在于include_path指令中或者用完整路径来包含。
多个目录之间用冒号(Win下为分号)隔开。
指定的限制实际上是一个前缀,而非一个目录名,
也就是说”/dir/incl”将允许访问”/dir/include”和”/dir/incls”
如果您希望将访问控制在一个指定的目录,那么请在结尾加上斜线。
safe_mode_exec_dir = #安全模式下的可执行文件存放目录
safe_mode_allowed_env_vars = PHP_ #在安全模式下,用户仅可以更改的环境变量的前缀列表(逗号分隔)。
允许用户设置某些环境变量,可能会导致潜在的安全漏洞。
注意: 如果这一参数值为空,PHP将允许用户更改任意环境变量
safe_mode_protected_env_vars = LD_LIBRARY_PATH在安全模式下,用户不能更改的环境变量列表(逗号分隔)。
这些变量即使在safe_mode_allowed_env_vars指令设置为允许的情况下也会得到保护。
disable_functions = #该指令接受一个用逗号分隔的函数名列表,以禁用特定的函数。
disable_classes = #该指令接受一个用逗号分隔的类名列表,以禁用特定的类
expose_php = On #在网页头部显示php信息
max_execution_time = 30 #每个脚本最大执行秒数
max_input_time = 60 #每个脚本用来分析请求数据的最大限制时间
memory_limit = 128M #每个脚本执行的内存限制
error_reporting = E_ALL & ~E_NOTICE
display_errors = On #显示失误(该关闭,换成日志显示)
display_startup_errors = Off #显示启动失误
define_syslog_variables = Off #是否定义各种系统日志变量,如:$LOG_PID, $LOG_CRON 等等。
; 关掉它以提高效率的好主意。
; 你可以在运行时调用define_syslog_variables()函数来定义这些变量。
log_errors = Off #该改为on
log_errors_max_len = 1024 #设定error_log最大长度
ignore_repeated_errors = Off #打开后,不记录重复的信息
ignore_repeated_source = Off #打开后当记录重复的信息时忽略来源
report_memleaks = On #报告内存泄露,仅在debug编译模式下有效
track_errors = Off #在$php_errormsg中保存最后一次错误/警告消息 (逻辑值).
永远不要再生产环境中使用此特性:html_errors 会显示php错误所在的html标签
variables_order = "EGPCS"#此指令描述了PHP注册GET, POST, Cookie, 环境 和 内置变量的顺序 (各自使用G, P, C, E 和 S , 一般使用 EGPCS 或 GPC). 注册使用从左往右的顺序, 新的值会覆盖旧的值.
register_globals = Off #是否打开register全局变量
register_long_arrays = On #是否注册老形式的输入数组, HTTP_GET_VARS 和相关数组
; 如果你不使用他们,建议为了提高性能关闭他们.
register_argc_argv = On #此指令让PHP确认是否申明 argv&argc 变量 (这些变量会包含GET信息).
; 如果你不使用这些变量,为了提升性能应该关闭此选项.
auto_globals_jit = On #当打开此项, SERVER 和 ENV 变量将在第一次被使用时而不是脚本一开始时创建(运行时)
; 如果这些变量在脚本中没有被使用过, 打开此项会增加一点性能.
; 为了使此指令有效,PHP指令 register_globals, register_long_arrays,
; 以及 register_argc_argv 必须被关闭.
post_max_size = 8M #PHP可以接受的最大的POST数据大小
magic_quotes_gpc = On #针对GET/POST/Cookie数据打开Magic quotes.
magic_quotes_runtime = Off #针对实时产生的数据打开Magic quotes, 例如从SQL获取的数据, 从exec()返回的数据等等.
magic_quotes_sybase = Off #使用 Sybase 风格的 magic quotes (使用"来引导'替代\').
auto_prepend_file = #在任何PHP文档之前或之后自动增加文件
auto_append_file =
default_mimetype = "text/html" #PHP内建默认为text/html
file_uploads = On #是否允许http文件上传
upload_tmp_dir = #对于http上传文件的临时目录
upload_max_filesize = 2M #允许上传的最大文件大小
doc_root = #PHP的"根目录"。仅在非空时有效。
; 如果safe_mode=On,则此目录之外的文件一概被拒绝。
; 如果编译PHP时没有指定FORCE_REDIRECT,并且在非IIS服务器上以CGI方式运行,
; 则必须设置此指令(参见手册中的安全部分)。
; 替代方案是使用的cgi.force_redirect指令
user_dir =告诉php在使用 /~username 打开脚本时到哪个目录下去找,仅在非空时有效。
也就是在用户目录之下使用PHP文件的基本目录名,例如:"public_html"
extension_dir = "./" #存放扩展库(模块)的目录,也就是PHP用来寻找动态扩展模块的目录
enable_dl = On #是否允许使用dl()函数。dl()函数仅在将PHP作为apache模块安装时才有效。
禁用dl()函数主要是出于安全考虑,因为它可以绕过open_basedir指令的限制。
在安全模式下始终禁用dl()函数,而不管此处如何设置。
file_uploads = On
upload_max_filesize = 2M #最大可上传文件,2M
allow_url_fopen = On #是否允许打开远程文件
allow_url_include = Off #是否允许include/require远程文件
[PHP]
engine = On #是否启用PHP解析引擎
zend.ze1_compatibility_mode = Off #是否在Last-Modified应答头中放置该PHP脚本的最后修改时间
short_open_tag = On #使用简洁标志
asp_tags = Off #不允许ASP类标志
precision = 12 #浮点型数据显示的有效期
y2k_compliance = On #是否强制打开2000年适应(可能在非Y2K适应的浏览器中导致问题)。
output_buffering = 0 #; 输出缓冲区大小(字节)。建议值为4096~8192。
; 输出缓冲允许你甚至在输出正文内容之后再发送HTTP头(包括cookies)。
; 其代价是输出层减慢一点点速度。
; 设置输出缓冲可以减少写入,有时还能减少网络数据包的发送。
; 这个参数的实际收益很大程度上取决于你使用的是什么Web服务器以及什么样的脚本
zlib.output_compression =
Off zlib输出压缩
implicit_flush = Off #是否要求PHP输出层在每个输出块之后自动刷新数据。
; 这等效于在每个 print()、echo()、HTML块之后自动调用flush()函数。
; 打开这个选项对程序执行的性能有严重的影响,通常只推荐在调试时使用。
; 在CLI SAPI的执行模式下,该指令默认为 On 。
unserialize_callback_func=
serialize_precision = 100 #; 将浮点型和双精度型数据序列化存储时的精度(有效位数)。
; 默认值能够确保浮点型数据被解序列化程序解码时不会丢失数据。
allow_call_time_pass_reference = On #是否强迫在函数调用时按引用传递参数(每次使用此特性都会收到一条警告)。
; php反对这种做法,并在将来的版本里不再支持,因为它影响到了代码的整洁。
; 鼓励的方法是在函数声明里明确指定哪些参数按引用传递。
; 我们鼓励你关闭这一选项,以保证你的脚本在将来版本的语言里仍能正常工作。
safe_mode = Off #安全模式
safe_mode_gid = Off
safe_mode_include_dir = #在安全模式下,该组目录和其子目录下的文件被包含时,将跳过UID/GID检查。
换句话说,如果此处的值为空,任何UID/GID不符合的文件都不允许被包含。
这里设置的目录必须已经存在于include_path指令中或者用完整路径来包含。
多个目录之间用冒号(Win下为分号)隔开。
指定的限制实际上是一个前缀,而非一个目录名,
也就是说”/dir/incl”将允许访问”/dir/include”和”/dir/incls”
如果您希望将访问控制在一个指定的目录,那么请在结尾加上斜线。
safe_mode_exec_dir = #安全模式下的可执行文件存放目录
safe_mode_allowed_env_vars = PHP_ #在安全模式下,用户仅可以更改的环境变量的前缀列表(逗号分隔)。
允许用户设置某些环境变量,可能会导致潜在的安全漏洞。
注意: 如果这一参数值为空,PHP将允许用户更改任意环境变量
safe_mode_protected_env_vars = LD_LIBRARY_PATH在安全模式下,用户不能更改的环境变量列表(逗号分隔)。
这些变量即使在safe_mode_allowed_env_vars指令设置为允许的情况下也会得到保护。
disable_functions = #该指令接受一个用逗号分隔的函数名列表,以禁用特定的函数。
disable_classes = #该指令接受一个用逗号分隔的类名列表,以禁用特定的类
expose_php = On #在网页头部显示php信息
max_execution_time = 30 #每个脚本最大执行秒数
max_input_time = 60 #每个脚本用来分析请求数据的最大限制时间
memory_limit = 128M #每个脚本执行的内存限制
error_reporting = E_ALL & ~E_NOTICE
display_errors = On #显示失误(该关闭,换成日志显示)
display_startup_errors = Off #显示启动失误
define_syslog_variables =
Off #是否定义各种系统日志变量,如:$LOG_PID, $LOG_CRON 等等。
; 关掉它以提高效率的好主意。
; 你可以在运行时调用define_syslog_variables()函数来定义这些变量。
log_errors = Off #该改为on
log_errors_max_len = 1024 #设定error_log最大长度
ignore_repeated_errors = Off #打开后,不记录重复的信息
ignore_repeated_source = Off #打开后当记录重复的信息时忽略来源
report_memleaks = On #报告内存泄露,仅在debug编译模式下有效
track_errors = Off #在$php_errormsg中保存最后一次错误/警告消息 (逻辑值).
永远不要再生产环境中使用此特性:html_errors 会显示php错误所在的html标签
variables_order = "EGPCS"#此指令描述了PHP注册GET, POST, Cookie, 环境和内置变量的顺序 (各自使用G, P, C, E 和 S , 一般使用 EGPCS 或 GPC). 注册使用从左往右的顺序, 新的值会覆盖旧的值.
register_globals = Off #是否打开register全局变量
register_long_arrays = On #是否注册老形式的输入数组, HTTP_GET_VARS 和相关数组
; 如果你不使用他们,建议为了提高性能关闭他们.
register_argc_argv = On #此指令让PHP确认是否申明 argv&argc 变量 (这些变量会包含GET信息).
; 如果你不使用这些变量,为了提升性能应该关闭此选项.
auto_globals_jit = On #当打开此项, SERVER 和 ENV 变量将在第一次被使用时而不是脚本一开始时创建(运行时)
; 如果这些变量在脚本中没有被使用过, 打开此项会增加一点性能.
; 为了使此指令有效,PHP指令 register_globals, register_long_arrays,
; 以及 register_argc_argv 必须被关闭.
post_max_size = 8M #PHP可以接受的最大的POST数据大小
magic_quotes_gpc = On #针对GET/POST/Cookie数据打开Magic quotes.
magic_quotes_runtime = Off #针对实时产生的数据打开Magic quotes, 例如从SQL获取的数据, 从exec()返回的数据等等.
magic_quotes_sybase = Off #使用 Sybase 风格的 magic quotes (使用"来引导'替代\').
auto_prepend_file = #在任何PHP文档之前或之后自动增加文件
auto_append_file =
default_mimetype = "text/html" #PHP内建默认为text/html
file_uploads = On #是否允许http文件上传
upload_tmp_dir = #对于http上传文件的临时目录
upload_max_filesize = 2M #允许上传的最大文件大小
doc_root = #PHP的"根目录"。仅在非空时有效。
; 如果safe_mode=On,则此目录之外的文件一概被拒绝。
; 如果编译PHP时没有指定FORCE_REDIRECT,并且在非IIS服务器上以CGI方式运行,
; 则必须设置此指令(参见手册中的安全部分)。
; 替代方案是使用的cgi.force_redirect指令
user_dir =告诉php在使用 /~username 打开脚本时到哪个目录下去找,仅在非空时有效。
也就是在用户目录之下使用PHP文件的基本目录名,例如:"public_html"
extension_dir = "./" #存放扩展库(模块)的目录,也就是PHP用来寻找动态扩展模块的目录
enable_dl = On #是否允许使用dl()函数。dl()函数仅在将PHP作为apache模块安装时才有效。
禁用dl()函数主要是出于安全考虑,因为它可以绕过open_basedir指令的限制。
在安全模式下始终禁用dl()函数,而不管此处如何设置。
file_uploads = On
upload_max_filesize = 2M #最大可上传文件,2M
allow_url_fopen = On #是否允许打开远程文件
allow_url_include = Off #是否允许include/require远程文件