运行时配置

这些函数的行为受php.ini中的设置影响。

会话配置选项
名字默认可修改范围更新日志
session.save_path""PHP_INI_ALL 
session.name"PHPSESSID"PHP_INI_ALL 
session.save_handler"files"PHP_INI_ALL 
session.auto_start"0"PHP_INI_PERDIR 
session.gc_probability"1"PHP_INI_ALL 
session.gc_divisor"100"PHP_INI_ALL 
session.gc_maxlifetime"1440"PHP_INI_ALL 
session.serialize_handler"php"PHP_INI_ALL 
session.cookie_lifetime"0"PHP_INI_ALL 
session.cookie_path"/"PHP_INI_ALL 
session.cookie_domain""PHP_INI_ALL 
session.cookie_secure""PHP_INI_ALL 
session.cookie_httponly""PHP_INI_ALL自 PHP 5.2.0 起有效
session.cookie_samesite""PHP_INI_ALL自 PHP 7.3.0 起有效
session.use_strict_mode"0"PHP_INI_ALL自 PHP 5.5.2 起有效
session.use_cookies"1"PHP_INI_ALL 
session.use_only_cookies"1"PHP_INI_ALL 
session.referer_check""PHP_INI_ALL 
session.cache_limiter"nocache"PHP_INI_ALL 
session.cache_expire"180"PHP_INI_ALL 
session.use_trans_sid"0"PHP_INI_ALL 
session.trans_sid_tags"a=href,area=href,frame=src,form="PHP_INI_ALL自 PHP 7.1.0 起有效。
session.trans_sid_hosts$_SERVER['HTTP_HOST']PHP_INI_ALL自 PHP 7.1.0 起有效。
session.sid_length"32"PHP_INI_ALL自 PHP 7.1.0 起有效。
session.sid_bits_per_character"4"PHP_INI_ALL自 PHP 7.1.0 起有效。
session.upload_progress.enabled"1"PHP_INI_PERDIR自 PHP 5.4.0 起有效。
session.upload_progress.cleanup"1"PHP_INI_PERDIR自 PHP 5.4.0 起有效。
session.upload_progress.prefix"upload_progress_"PHP_INI_PERDIR自 PHP 5.4.0 起有效。
session.upload_progress.name"PHP_SESSION_UPLOAD_PROGRESS"PHP_INI_PERDIR自 PHP 5.4.0 起有效。
session.upload_progress.freq"1%"PHP_INI_PERDIR自 PHP 5.4.0 起有效。
session.upload_progress.min_freq"1"PHP_INI_PERDIR自 PHP 5.4.0 起有效。
session.lazy_write"1"PHP_INI_ALL自 PHP 7.0.0 起有效。
url_rewriter.tags"a=href,area=href,frame=src,form="PHP_INI_ALL自 PHP 7.1.0 起,session 功能不再使用此选项。
session.hash_function"0"PHP_INI_ALL自 PHP 7.1.0 起移除。
session.hash_bits_per_character"4"PHP_INI_ALL自 PHP 7.1.0 起移除。
session.entropy_file""PHP_INI_ALL自 PHP 7.1.0 起移除。
session.entropy_length"0"PHP_INI_ALL自 PHP 7.1.0 起移除。
session.bug_compat_42"1"PHP_INI_ALL自 PHP 5.4.0 起移除。
session.bug_compat_warn"1"PHP_INI_ALL自 PHP 5.4.0 起移除。
有关 PHP_INI_* 样式的更多详情与定义,见配置可被设定范围

会话管理系统支持许多配置选项,可以在自己的php.ini文件中设定。这里只是个简短的概览。

session.save_handlerstring
session.save_handler定义了来存储和获取与会话关联的数据的处理器的名字。默认为files。Note that individual extensions may register their ownsave_handlers; registered handlers can be obtained on a per-installation basis by referring tophpinfo(). 参见session_set_save_handler()
session.save_pathstring
session.save_path定义了传递给存储处理器的参数。如果选择了默认的 files 文件处理器,则此值是创建文件的路径。默认为/tmp。参见session_save_path()

此指令还有一个可选的N参数来决定会话文件分布的目录深度。例如,设定为'5;/tmp'将使创建的会话文件和路径类似于/tmp/4/b/1/e/3/sess_4b1e384ad74619bd212e236e52a5a174If。要使用N参数,必须在使用前先创建好这些目录。在ext/session目录下有个小的 shell 脚本名叫mod_files.sh,windows 版本是mod_files.bat可以用来做这件事。此外注意如果使用了N参数并且大于 0,那么将不会执行自动垃圾回收,更多信息见php.ini。另外如果用了N参数,要确保将session.save_path的值用双引号 "quotes" 括起来,因为分隔符分号(;)在php.ini中也是注释符号。

文件储存模块默认使用 mode 600 创建文件。通过 修改可选参数MODE来改变这种默认行为:N;MODE;/path,其中MODE是 mode 的八进制表示。MODE设置不影响进程的掩码(umask)。

如果将此设定为一个全局可读的目录,例如/tmp(默认值),服务器上的其他用户有可能通过该目录的文件列表破解会话。
使用以上描述的可选目录层级参数N时请注意,对于绝大多数站点,大于1或者2的值会不太合适——因为这需要创建大量的目录:例如,值设置为 3 需要在文件系统上创建64^3个目录,将浪费很多空间和 inode。 仅仅在绝对肯定站点足够大时,才可以设置N大于2。
在 PHP 4.3.6 之前,Windows 用户必须修改此选项以使用 PHP 的会话函数。必须指定一个合法路径,例如:c:/temp
session.namestring
session.name指定会话名以用做 cookie 的名字。只能由字母数字组成,默认为PHPSESSID。参见session_name()
session.auto_startboolean
session.auto_start指定会话模块是否在请求开始时自动启动一个会话。默认为0(不启动)。
session.serialize_handlerstring
session.serialize_handler定义用来序列化/解序列化的处理器名字。 当前支持 PHP 序列化格式(名为php_serialize)、 PHP PHP 内部格式(名为phpphp_binary)和 WDDX(名为wddx)。 如果 PHP 编译时加入了WDDX 支持,则只能用 WDDX。 自 PHP 5.5.4 起可以使用php_serializephp_serialize在内部简单地直接使用 serialize/unserialize 函数,并且不会有phpphp_binary所具有的限制。 使用较旧的序列化处理器导致 $_SESSION 的索引既不能是数字也不能包含特殊字符(|and!)。 使用php_serialize避免脚本退出时,数字及特殊字符索引导致出错。 默认使用php
session.gc_probabilityinteger
session.gc_probabilitysession.gc_divisor合起来用来管理 gc(garbage collection 垃圾回收)进程启动的概率。默认为1。详见session.gc_divisor
session.gc_divisorinteger
session.gc_divisorsession.gc_probability合起来定义了在每个会话初始化时启动 gc(garbage collection 垃圾回收)进程的概率。此概率用 gc_probability/gc_divisor 计算得来。例如 1/100 意味着在每个请求中有 1% 的概率启动 gc 进程。session.gc_divisor默认为100
session.gc_maxlifetimeinteger
session.gc_maxlifetime指定过了多少秒之后数据就会被视为"垃圾"并被清除。 垃圾搜集可能会在 session 启动的时候开始( 取决于session.gc_probabilitysession.gc_divisor)。
如果不同的脚本具有不同的session.gc_maxlifetime数值但是共享了同一个地方存储会话数据,则具有最小数值的脚本会清理数据。此情况下,与session.save_path一起使用本指令。
session.referer_checkstring
session.referer_check包含有用来检查每个 HTTP Referer 的子串。如果客户端发送了 Referer 信息但是在其中并未找到该子串,则嵌入的会话 ID 会被标记为无效。默认为空字符串。
session.entropy_filestring
session.entropy_file给出了一个到外部资源(文件)的路径,该资源将在会话 ID 创建进程中被用作附加的熵值资源。例如在许多 Unix 系统下都可以用/dev/random/dev/urandom。 在 Windows 上自 PHP 5.3.3 起加入了此功能。 设置session.entropy_length为非零的值将使 PHP 使用 Windows Random API 作为熵值源。
自 PHP 5.4.0 起,默认情况下,session.entropy_file/dev/urandom/dev/arandom可用的时候使用它们。 在 PHP 5.3.0 中此指令默认留空。
session.entropy_lengthinteger
session.entropy_length指定了从上面的文件中读取的字节数。默认为0(禁用)。
session.use_strict_modeboolean
session.use_strict_modespecifies whether the module will use strict session id mode. If this mode is enabled, the module does not accept uninitialized session ID. If uninitialized session ID is sent from browser, new session ID is sent to browser. Applications are protected from session fixation via session adoption with strict mode. Defaults to0(disabled).
session.use_cookiesboolean
session.use_cookies指定是否在客户端用 cookie 来存放会话 ID。默认为1(启用)。
session.use_only_cookiesboolean
session.use_only_cookies指定是否在客户端仅仅使用 cookie 来存放会话 ID。。启用此设定可以防止有关通过 URL 传递会话 ID 的攻击。自PHP 5.3.0开始,默认值为1(启用)
session.cookie_lifetimeinteger
session.cookie_lifetime以秒数指定了发送到浏览器的 cookie 的生命周期。值为 0 表示"直到关闭浏览器"。默认为0。参见session_get_cookie_params()session_set_cookie_params()
The expiration timestamp is set relative to the server time, which is not necessarily the same as the time in the client's browser.
session.cookie_pathstring
session.cookie_path指定了要设定会话 cookie 的路径。默认为/。参见session_get_cookie_params()session_set_cookie_params()
session.cookie_domainstring
session.cookie_domain指定了要设定会话 cookie 的域名。默认为无,表示根据 cookie 规范产生 cookie 的主机名。参见session_get_cookie_params()session_set_cookie_params()
session.cookie_secureboolean
session.cookie_secure指定是否仅通过安全连接发送 cookie。默认为off。此设定是 PHP 4.0.4 添加的。参见session_get_cookie_params()session_set_cookie_params()
session.cookie_httponlyboolean
Marks the cookie as accessible only through the HTTP protocol. This means that the cookie won't be accessible by scripting languages, such as JavaScript. This setting can effectively help to reduce identity theft through XSS attacks(although it is not supported by all browsers).
session.cookie_samesitestring
Allows servers to assert that a cookie ought not to be sent along with cross-site requests. This assertion allows user agents to mitigate the risk of cross-origin information leakage, and provides some protection against cross-site request forgery attacks. Note that this is not supported by all browsers. An empty value means that no SameSite cookie attribute will be set.LaxandStrictmean that the cookie will not be sent cross-domain for POST requests;Laxwill sent the cookie for cross-domain GET requests, whileStrictwill not.
session.cache_limiterstring
session.cache_limiter指定会话页面所使用的缓冲控制方法(none/nocache/private/private_no_expire/public)。默认为nocache。参见session_cache_limiter()
session.cache_expireinteger
session.cache_expire以分钟数指定缓冲的会话页面的存活期,此设定对 nocache 缓冲控制方法无效。默认为180。参见session_cache_expire()
session.use_trans_sidboolean
session.use_trans_sid指定是否启用透明 SID 支持。默认为0(禁用)。
基于 URL 的会话管理比基于 cookie 的会话管理有更多安全风险。例如用户有可能通过 email 将一个包含有效的会话 ID 的 URL 发给他的朋友,或者用户总是有可能在收藏夹中存有一个包含会话 ID 的 URL 来以同样的会话 ID 去访问站点。 自 PHP 7.1.0 开始,透明 SID 开始使用完整的 URL 绝对路径,例如 https://php.net/。 在此之前 PHP 只会使用相对路径。使用session.trans_sid_hosts定义重写的目标 host。
session.trans_sid_tagsstring
session.trans_sid_tagsspecifies which HTML tags are rewritten to include session id when transparent sid support is enabled. Defaults toa=href,area=href,frame=src,input=src,form=formis special tag.<input hidden="session_id" name="session_name">is added as form variable.
Before PHP 7.1.0,url_rewriter.tagswas used for this purpose. Since PHP 7.1.0,fieldsetis no longer considered as special tag.
session.trans_sid_hostsstring
session.trans_sid_hostsspecifies which hosts are rewritten to include session id when transparent sid support is enabled. Defaults to$_SERVER['HTTP_HOST']Multiple hosts can be specified by ",", no space is allowed between hosts. e.g.php.net,wiki.php.net,bugs.php.net
session.bug_compat_42boolean
PHP 4.2.3 以及更低版本有一个未公开的特性/错误,它允许用户在register_globals被禁用的情况下在全局范围内初始化一个会话变量。PHP 4.3.0 及更高版本会在使用此特性时并且启用了session.bug_compat_warn时发出警告。此特性/错误可以通过关闭此选项而禁用。
PHP 5.4.0 中已经移除。
session.bug_compat_warnboolean
PHP 4.2.3 以及更低版本有一个未公开的特性/错误,它允许用户在register_globals被禁用的情况下在全局范围内初始化一个会话变量。PHP 4.3.0 及更高版本会在使用此特性时并且同时启用了session.bug_compat_42session.bug_compat_warn时发出警告。
PHP 5.4.0 中已经移除。
session.sid_lengthinteger
session.sid_lengthallows you to specify the length of session ID string. Session ID length can be between 22 to 256. The default is 32. If you need compatibility you may specify 32, 40, etc. Longer session ID is harder to guess. At least 32 chars are recommended.
Compatibility Note: Use 32 instead ofsession.hash_function=0(MD5)andsession.hash_bits_per_character=4,session.hash_function=1(SHA1)andsession.hash_bits_per_character=6. Use 26 instead ofsession.hash_function=0(MD5)andsession.hash_bits_per_character=5. Use 22 instead ofsession.hash_function=0(MD5)andsession.hash_bits_per_character=6. You must configure INI values to have at least 128 bits in session ID. Do not forget to set an appropriate value forsession.sid_bits_per_character, otherwise you will have weaker session ID.
This setting is introduced in PHP 7.1.0.
session.sid_bits_per_characterinteger
session.sid_per_characterallows you to specify the number of bits in encoded session ID character. The possible values are '4'(0-9, a-f), '5'(0-9, a-v), and '6'(0-9, a-z, A-Z, "-", ","). The default is 4. The more bits results in stronger session ID. 5 is recommended value for most environments.

This setting is introduced in PHP 7.1.0.
url_rewriter.tagsstring
url_rewriter.tags指定在使用透明 SID 支持时哪些 HTML 标记会被修改以加入会话 ID。默认为a=href,area=href,frame=src,input=src,form=fakeentry,fieldset=
如果要符合 XHTML,去掉form项并在表单字段前后加上 <fieldset> 标记。
session.hash_functionmixed
session.hash_function允许用户指定生成会话 ID 的散列算法。'0' 表示 MD5(128 位),'1' 表示 SHA-1(160 位)。

Since PHP 5.3.0 it is also possible to specify any of the algorithms provided by thehash extension(if it is available), likesha512orwhirlpool. A complete list of supported algorithms can be obtained with thehash_algos()function.

这是 PHP 5 引进的。
session.hash_bits_per_characterinteger
session.hash_bits_per_character允许用户定义将二进制散列数据转换为可读的格式时每个字符存放多少个比特。可能值为 '4'(0-9,a-f),'5'(0-9,a-v),以及 '6'(0-9,a-z,A-Z,"-",",")。
这是 PHP 5 引进的。
session.upload_progress.enabledboolean
Enables upload progress tracking, populating the$_SESSIONvariable. Defaults to 1, enabled.
session.upload_progress.cleanupboolean
Cleanup the progress information as soon as all POST data has been read(i.e. upload completed). Defaults to 1, enabled.
It is highly recommended to keep this feature enabled.
session.upload_progress.prefixstring
A prefix used for the upload progress key in the$_SESSION. This key will be concatenated with the value of$_POST[ini_get("session.upload_progress.name")]to provide a unique index. Defaults to "upload_progress_".
session.upload_progress.namestring
The name of the key to be used in$_SESSIONstoring the progress information. See alsosession.upload_progress.prefix. If$_POST[ini_get("session.upload_progress.name")]is not passed or available, upload progressing will not be recorded. Defaults to "PHP_SESSION_UPLOAD_PROGRESS".
session.upload_progress.freqmixed
Defines how often the upload progress information should be updated. This can be defined in bytes(i.e. "update progress information after every 100 bytes"), or in percentages(i.e. "update progress information after receiving every 1% of the whole filesize"). Defaults to "1%".
session.upload_progress.min_freqinteger
The minimum delay between updates, in seconds. Defaults to "1"(one second).
session.lazy_writeboolean
session.lazy_write, when set to 1, means that session data is only rewritten if it changes. Defaults to 1, enabled.

淘宝 adsense 商品推荐

谷歌 admob Adsense 代收Pin码 美国 香港 丰富地址代收 商务服务

价格:50元

register_globals配置选项影响到会话变量是怎样存储和恢复的。

Upload progress will not be registered unless session.upload_progress.enabled is enabled, and the $_POST[ini_get("session.upload_progress.name")] variable is set. SeeSession Upload Progressfor mor details on this functionality.