$ _SESSION变量在$ GLOBALS中不可见

I am new to this and don't want to just go and change my or a colleague's php.ini.

I have Windows and he has Ubuntu set up.

I have 2 pages login.php and main.php with the following code at the top of each page

if(session_id() == '') {
    session_start();
}

I set a session variable to 1 or 0 depending if the user loggin in is a admin or not.

after clicking login you are taken to main.php. At the top of the page I did a print_r($GLOBALS) and I can see quite a lot of the global variables including the $_SESSION['admin'] entry.

On my colleague's pc there is only about 5 globals showing and $_SESSION is not there.

Is it a php.ini setup issue? Where do I start looking to fix this?

You have to call session_start(); in every page. – Naktibalda

Right

php.ini shouldn't have anything to do with this. – serakfalcon

Wrong

Then why it works on one machine and not on the other? session.auto_start in php.ini

session.auto_start Boolean

session.auto_start specifies whether the session module starts a session automatically on request startup. Defaults to 0 (disabled).

To not depend on that, you need to have

session_start();

On top of every page where you want to access or manipulate session data.