您现在的位置是:群英 > 开发技术 > PHP语言
PHP中session_start()函数用于什么,基本语法是什么
Admin发表于 2022-05-07 17:28:11980 次浏览
在实际案例的操作过程中,我们可能会遇到“PHP中session_start()函数用于什么,基本语法是什么”这样的问题,那么我们该如何处理和解决这样的情况呢?这篇小编就给大家总结了一些方法,具有一定的借鉴价值,希望对大家有所帮助,接下来就让小编带领大家一起了解看看吧。

在php中,session_start()的意思为“开始会话”,是一个用于创建新会话或者重用现有会话的内置函数;语法为“session_start($array);”,成功开始会话返回true,反之返回false。

本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑

在php中,session_start()的意思为“开始会话”。

语法:

session_start(array $options = array()): bool

session_start()函数会创建新会话或者重用现有会话。如果通过 GET 或者 POST 方式,或者使用 cookie 提交了会话 ID, 则会重用现有会话。

参数:

  • $options:此参数是一个关联数组,如果提供,那么会用其中的项目覆盖 会话配置指示 中的配置项。此数组中的键无需包含 session. 前缀。

    除了常规的会话配置指示项, 还可以在此数组中包含 read_and_close 选项。如果将此选项的值设置为 true, 那么会话文件会在读取完毕之后马上关闭, 因此,可以在会话数据没有变动的时候,避免不必要的文件锁。

当会话自动开始或者通过 session_start() 手动开始的时候, PHP 内部会调用会话管理器的 open 和 read 回调函数。 会话管理器可能是 PHP 默认的, 也可能是扩展提供的(SQLite 或者 Memcached 扩展), 也可能是通过 session_set_save_handler() 设定的用户自定义会话管理器。 通过 read 回调函数返回的现有会话数据(使用特殊的序列化格式存储), PHP 会自动反序列化数据并且填充 $_SESSION 超级全局变量。

要想使用命名会话,请在调用 session_start() 函数 之前调用 session_name() 函数。

如果启用了 session.use_trans_sid 选项, session_start() 函数会注册一个内部输出管理器, 该输出管理器完成 URL 重写的工作。

如果用户联合使用 ob_start() 和 ob_gzhandler 函数, 那么函数的调用顺序会影响输出结果。 例如,必须在开始会话之前调用 ob_gzhandler 函数完成注册。

  • 返回值:成功开始会话返回 true ,反之返回 false。

示例1:

<?php
// page1.php

session_start();

echo 'Welcome to page #1';

$_SESSION['favcolor'] = 'green';
$_SESSION['animal']   = 'cat';
$_SESSION['time']     = time();

// 如果使用 cookie 方式传送会话 ID
echo '<br /><a href="page2.php">page 2</a>';

// 如果不是使用 cookie 方式传送会话 ID,则使用 URL 改写的方式传送会话 ID
echo '<br /><a href="page2.php?' . SID . '">page 2</a>';
?>

请求 page1.php 页面之后, 第二个页面 page2.php 会包含会话数据。 请查阅 会话参考 获取更多关于 会话 ID 传送的信息, 在该参考页面中有关于常量 SID 的详细说明。

示例2:覆盖 Cookie 超时时间设定

<?php
// 设置 cookie 的有效时间为 1 天
session_start([
    'cookie_lifetime' => 86400,
]);
?>

感谢各位的阅读,以上就是“PHP中session_start()函数用于什么,基本语法是什么”的内容了,通过以上内容的阐述,相信大家对PHP中session_start()函数用于什么,基本语法是什么已经有了进一步的了解,如果想要了解更多相关的内容,欢迎关注群英网络,群英网络将为大家推送更多相关知识点的文章。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

标签: session_start
相关信息推荐
2022-05-17 15:55:46 
摘要:在es6中,可以利用Number对象的isFinite()方法来判断值是不是数字,该方法可以检测传入的参数值是否是一个有穷数字;语法“Number.isFinite(值)”。
2022-01-18 18:00:09 
摘要:这篇文章我们来了解jdbc怎么连接数据库的操作。多种项目开发都离不开数据库,而要使用数据库,首先需要对数据库进行连接,下文给大家详细的介绍了jdbc连接数据库的操作和步骤,有需要的朋友可以参考,接下来就跟随小编来一起学习一下吧!
2022-09-02 17:59:21 
摘要:在之前的文章中详细的介绍了PHP中键名操作的获取键名与转换键名大小写的相关操作,本篇文章我们一起来看一下PHP中怎样对多个数组进行排序,希望对大家有帮助!
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部