根本:

if(!isset($_SESSION)){

session_start();

phpsession不能保存PHP73 session 掉效 Vue.js

}

php中如果没有启动,则须要启动后才能设置值。
用完往后session_unset();

问题:由于我采取默认安装

php.ini须要设置

session.save_path 担保设置的目录有可写权限

session.name

session.cookie_path中默认是 /tmp

这次问题紧张是这里,把 /tmp 改为 /

即办理问题。
(如图所示)

正常情形下,浏览器有以下信息:

其它补充知识:

除了session.save_path外,PHP中还有很多关于session的配置,常用参数及浸染如下所示:

1、session.name

指定用户cookie的会话名,默认值为PHPSESSID。
PHP便是根据这个名称来查找用户对应的session。

2、session.save_handler

定义了处理器名称,默认为files。

3、session.auto_start

如果该参数设置为1,则标识会话模块在要求开始时自动启动一个会话。
该参数值默认为0,表示不启用该功能。

4、session.use_cookies

该参数指定了在客户端是否利用cookie来存储会话ID(即session.name),该参数默认为1,表示启用该功能。

5、session.cookie_secure

PHP4.0.4版本往后添加此功能,默认为Off。
如果该项设置为On,则表示启用安全链接发送cookie。

6、session.serialize_handler

session的存储和利用须要进行序列化和反序列化操作,该参数定义了PHP用来序列化/返序列化的处理器名字。
PHP8.2版本支持三种,分别是PHP序列化格式(php_serialize)、PHP内部格式(php php_binary)以及WDDX(wddx)。
该项参数的设置决定了session文件中内容的存储格式,默认值是php。