php.ini参数详解

  • A+
Categories:Linux

safe mode:
以安全模式运行php,php的安全模式提供一个基本安全的共享环境,在一个有多个用户帐户存在的php开放的web服务器上。当一个web服务器上运行
的php打开了安全模式,那么一些函数将被完全的禁止,并且会限制一些可用的功能。当安全模式打开的时候,以下函数列表的功能将会受到限:
chdir,move_uploaded_file,chgrp,parse_ini_file,chown,rmdir,copy,rename,fopen,require,
highlight_file,show_source,include,symlink,link,touch,mkdir,unlink

sql.safe_mode = Off: 是否使用SQL安全模式。如果打开,指定默认值的数据库连接函数将会使用这些默认值代替支持的参数。对于每个不同数据库的连接函数,其默认值请参考相应的手册页面。

safe_mode_gid = Off: 在安全模式下,默认在访问文件时会做UID比较检查。但有些情况下严格的UID检查反而是不适合的,宽松的GID检查已经足够。如果你想将其放宽到仅做GID比较,可以打开这个参数。

allow_url_fopen = On: 是否允许打开远程文件

allow_url_include = Off: 是否允许include/require远程文件

disable_functions =: 该指令接受一个用逗号分隔的函数名列表,以禁用特定的函数。

disable_classes =: 该指令接受一个用逗号分隔的类名列表,以禁用特定的类。

enable_dl = Off:
是否允许使用dl()函数。dl()函数仅在将PHP作为apache模块安装时才有效。禁用dl()函数主要是出于安全考虑,因为它可以绕过
open_basedir指令的限制。在安全模式下始终禁用dl()函数,而不管此处如何设置。PHP6中删除了该指令,相当于设为Off。

expose_php: Off隐藏php版本信息,默认On为开启

open_basedir =: 将PHP允许操作的所有文件(包括文件自身)都限制在此组目录列表下。
当一个脚本试图打开一个指定目录树之外的文件时,将遭到拒绝。
所有的符号连接都会被解析,所以不可能通过符号连接来避开此限制。
特殊值’.'指定了存放该脚本的目录将被当做基准目录,
但这有些危险,因为脚本的工作目录可以轻易被chdir()改变。
对于共享服务器,在httpd.conf中针对不同的虚拟主机或目录灵活设置该指令将变得非常有用。
在Windows中用分号分隔目录,UNIX系统中用冒号分隔目录。
作为Apache模块时,父目录中的open_basedir路径将自动被继承。
指定的限制实际上是一个前缀,而非一个目录名,
也就是说”/dir/incl”将允许访问”/dir/include”和”/dir/incls”,
如果您希望将访问控制在一个指定的目录,那么请在结尾加上一个斜线。
默认是允许打开所有文件。

register_globals:
注册为全局变量,所以当On的时候,传递过来的值会被直接的注册为全局变量直接使用,而Off的时候,我们需要到特定的数组里去得到它。所以,碰到上边那
些无法得到值的问题的朋友应该首先检查一下你的register_globals的设置和你获取值的方法是否匹配。

max_execution_time: 每个脚本运行的最长时间,可以自己修改加长,单位秒

max_input_time: 每个脚本可以消耗的时间,单位也是秒

memory_limit = 128M:
一个脚本所能够申请到的最大内存字节数(可以使用K和M作为单位)。这有助于防止劣质脚本消耗完服务器上的所有内存。要能够使用该指令必须在编译时使
用”–enable-memory-limit”配置选项。如果要取消内存限制,则必须将其设为 -1 。

upload_max_filesize: 上载文件的最大许可大小 ,一些图片论坛需要这个更大的值

log_errors = On: 是否在日志文件里记录错误,具体在哪里记录取决于error_log指令。强烈建议在最终发布的web站点时使用日志记录错误而不是直接输出,这样可以让你既知道那里出了问题,又不会暴露敏感信息。

log_errors_max_len = 1024: 设置错误日志中附加的与错误信息相关联的错误源的最大长度。这里设置的值对显示的和记录的错误以及$php_errormsg都有效。设为0可以允许无限长度。

ignore_repeated_errors = Off: 记录错误日志时是否忽略重复的错误信息。错误信息必须出现在同一文件的同一行才被被视为重复。

ignore_repeated_source = Off: 是否在忽略重复的错误信息时忽略重复的错误源。

default_socket_timeout = 60:默认socket超时(秒)

max_execution_time =
30:每个脚本最大允许执行时间(秒),0表示没有限制。这个参数有助于阻止劣质脚本无休止的占用服务器资源。该指令仅影响脚本本身的运行时间,任何其它
花费在脚本运行之外的时间,如用system()/sleep()函数的使用、数据库查询、文件上传等,都不包括在内。在安全模式下,你不能用
ini_set()在运行时改变这个设置。

date.timezone = : 未设定TZ环境变量时用于所有日期和时间函数的默认时区。中国大陆应当使用”PRC”
应用时区的优先顺序为:
1. 用date_default_timezone_set()函数设定的时区(如果设定了的话)
2. TZ 环境变量(如果非空的话)
3. 该指令的值(如果设定了的话)
4. PHP自己推测(如果操作系统支持)
5. 如果以上都不成功,则使用 “UTC”

assert.active = On: 是否启用assert()断言评估

assert.bail = Off: 是否在发生失败断言时中止脚本的执行

assert.callback =: 发生失败断言时执行的回调函数

assert.quiet_eval = Off: 是否使用安静评估(不显示任何错误信息,相当于error_reporting=0)。若关闭则在评估断言表达式的时候使用当前的error_reporting指令值。

assert.warning = On: 是否对每个失败断言都发出警告
…..

Comment

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: