Im trying to access the Magento customer session in another part of my website.
domain.com/shop/ <- Magento
domain.com/test.php
The shop itself works like a charm, however im trying to determine within test.php if a customer is logged in, so I can display his name with a link to his cart.
Contents of test.php so far:
<?php
require_once dirname(__FILE__).'/shop/app/Mage.php';
umask(0);
Mage::app('default');
Mage::getSingleton('core/session', array('name' => 'frontend'));
var_dump(Mage::getSingleton('customer/session')->isLoggedIn());
?>
I keep getting bool(false) returned. I'm logged into Magento at domain.com/shop/ so ‘true’ is expected.
Am I forgetting something?
On the Admin sidebar go to Stores > Settings > Configuration. In the left panel, expand Customers and choose Login as Customer. Set Enable Login as Customer to Yes .
Session's are stored in Redis server. We can also configure the Redis cache from root/app/env. php file in Magento2.
To manage sessions, Magento uses the Magento \ Framework \ Session \ SessionManager class. Magento also stores the current session identifier in cookies, which helps the system to identify you as a logged in user, even after you close and open the browser.
I would recommend checking the path of the cookie that Magento sets. Most likely, it is set to /shop
, so the cookie will not be accessible to your file above it.
You can modify the path that Magento uses to set its cookie in the control panel under System -> Configuration -> Web (under the General heading) -> Session cookie management
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With