Php $\会话变量在$GLOBALS中不可见
我是新手,不想去更改我或同事的php.ini 我有Windows,他有Ubuntu 我有两个页面Php $\会话变量在$GLOBALS中不可见,php,Php,我是新手,不想去更改我或同事的php.ini 我有Windows,他有Ubuntu 我有两个页面login.php和main.php,每个页面的顶部都有以下代码 我将会话变量设置为1或0,这取决于登录的用户是否是管理员 单击“登录”后,您将进入main.php。在页面顶部,我做了一个print\r($GLOBALS),我可以看到很多全局变量,包括$\u会话['admin']条目 在我同事的电脑上,只有大约5个globals在显示,而$\u SESSION不在那里 这是一个php.ini设置问题吗
login.php
和main.php
,每个页面的顶部都有以下代码
我将会话变量设置为1或0,这取决于登录的用户是否是管理员
单击“登录”后,您将进入main.php。在页面顶部,我做了一个print\r($GLOBALS)
,我可以看到很多全局变量,包括$\u会话['admin']
条目
在我同事的电脑上,只有大约5个globals在显示,而$\u SESSION
不在那里
这是一个php.ini
设置问题吗?我应该从哪里着手解决这个问题
您必须调用session_start();在每一页中纳克蒂巴尔达 对
php.ini与此无关瑟拉克法尔康 错 那为什么它能在一台机器上工作而不能在另一台机器上工作呢在
php.ini
session.auto\u启动布尔值
session.auto_start指定会话模块是否在请求启动时自动启动会话。默认值为0(已禁用)
为了不依赖于此,你需要
session_start();
在您要访问或操作会话数据的每个页面的顶部。您必须调用session_start();在每个页面中,php.ini都不应该与此相关。session.auto_start设置可能会有所不同。因此,如果(session_id()=''){session_start()}不是正确的方法,则执行
。它应该是普通的session_start()代码>?我说的对吗?没错,它需要高于任何其他操纵输出的代码。甚至在一个空白的HTML行之后都没有
session_start();