PHP не может проверить, вошел ли администратор Magento в подпапку со скриптом, который работает в корневой папке - PullRequest
1 голос
/ 23 октября 2019

У меня есть корневая папка var/www/html/, где я установил Magento 1.9.2.4, а затем у меня есть подпапка (в корневой папке) var/www/html/xxx. В папке root я могу использовать этот скрипт PHP, чтобы проверить, вошел ли администратор в систему:

define('MAGENTO', realpath(dirname(__FILE__)));
require_once MAGENTO . '/app/Mage.php';

Mage::app('admin');
Mage::getSingleton('core/session', array('name' => 'adminhtml'));

$session = Mage::getSingleton('admin/session');

if($session->isLoggedIn()){
    $user = $session->getUser()->getUsername();
    echo 'Logged in as ' . $user;
} else{
    echo 'NOT logged';
}

Этот скрипт отлично работает в папке root, но если я его скопирую(и измените путь на Mage.php ofc) в подпапке xxx это не работает.

Когда я проверяю cookie с помощью инструментов разработчика Chrome, он имеет домен .www.example.com и путь /

Также, когда я проверяю, существует ли adminhtml в корневой папкея получаю true возврат, но когда я проверяю его в подпапке, я получаю false возврат, даже если путь выглядит как / в Chrome dev tools.

Что я должен сделать, чтобы бытьМожно ли проверить в подпапке, авторизован ли администратор так же, как я могу проверить это в корневой папке?

1 Ответ

0 голосов
/ 23 октября 2019

Если ваш скрипт работает внутри корневой папки, но не в вашей подпапке / папках, вы можете проверить настройки внутри админ-панели Magento:

Панель администратора> Система> Конфигурация> Веб (в разделе Общие) и затем выберите Управление файлами cookie сеанса

Удалите www перед Доменом cookie (если он там, потому что Magento будетпри создании файла cookie автоматически добавьте . [точка] перед доменом cookie) и установите для Режим ограничения cookie значение Нет .

...