从 ajax 调用返回的函数的日志中session_start通知


session_start notice in log from function returned by ajax call

我的PHP项目依赖于存储在会话变量中的信息,这些信息是我在访问第一页时设置的。 我发现如果我不在我的PHP函数中包含session_start,(编辑)从ajax调用(结束编辑)返回,我设置的会话变量不可用。如果我确实调用会话启动,我的错误日志中充斥着如下通知:PHP 注意:会话已经启动 - 忽略/some/file 中的 session_start() ...我知道这只是一个通知,我知道我可以关闭它们,但我宁愿不这样做,因为从这个论坛收集到的原因。有没有更好的方法使会话变量在我的函数中可用?我错过了什么?

(编辑以澄清该通知是由javascript AJAX调用返回的php函数生成的)

您需要在每次页面加载时启动会话,以便使用已设置的会话变量

但是,每次页面加载只能启动一个会话。如果您收到有关会话已启动的错误,可能是因为您尝试多次启动会话。检查您包含的文件等。解决此问题的一个好方法是拥有一个启动会话并创建 mysql 连接的文件,然后每次页面加载仅包含一次。也许在该文件上使用require_once

看起来您已经调用了 session_start() 函数。

在开始编码之前,只需调用一次此函数

<?php
session_start();
//your logic here
?>