Проблема со входом в админку Magento
Одной из самых популярных проблем у новичков в Magento является проблема входа в админ панель Magento. Форумы насыщены постами типа “Не могу войти в админку Magento“, “Вход в админку Magento“. Я удивляюсь, но многие при установке Magento на локальный компьютер, не используют VirtualHosts, а устанавливают на localhost.
Связано это с вопросом безопасности и невозможностью установить cookie.
Есть два популярных способа решения данной проблемы:
- Использовать VirtualHosts, название хоста должно содержать точку
- Более корявый способ – внести изменения в коде
Изменения в коде лучше делать перекрытием кода в локальном codePool.
Данный пример приводится для версии Magento 1.4.
Для этого копируем файл /app/code/core/Mage/Core/Model/Session/Abstract/Varien.php в /app/code/local/Mage/Core/Model/Session/Abstract/Varien.php.
И комментруем 3 строчки в методе Mage_Core_Model_Session_Abstract_Varien::start
1 2 3 4 5 6 7 8 9 10 11 12 |
<span style='color:#7f0055; background:#ffffe8; '><?php</span><span style='color:#000000; background:#ffffe8; '></span> <span style='color:#3f7f59; background:#ffffe8; '>// session cookie params</span><span style='color:#000000; background:#ffffe8; '></span> <span style='color:#000000; background:#ffffe8; '>$cookieParams</span><span style='color:#000000; background:#ffffe8; '> </span><span style='color:#000000; background:#ffffe8; '>=</span><span style='color:#000000; background:#ffffe8; '> </span><span style='color:#7f0055; background:#ffffe8; font-weight:bold; '>array</span><span style='color:#000000; background:#ffffe8; '>(</span><span style='color:#000000; background:#ffffe8; '></span> <span style='color:#000000; background:#ffffe8; '>    </span><span style='color:#2a00ff; background:#ffffe8; '>'lifetime'</span><span style='color:#000000; background:#ffffe8; '> </span><span style='color:#000000; background:#ffffe8; '>=</span><span style='color:#000000; background:#ffffe8; '>></span><span style='color:#000000; background:#ffffe8; '> </span><span style='color:#000000; background:#ffffe8; '>$cookie</span><span style='color:#000000; background:#ffffe8; '>-</span><span style='color:#000000; background:#ffffe8; '>></span><span style='color:#000000; background:#ffffe8; '>getLifetime</span><span style='color:#000000; background:#ffffe8; '>(</span><span style='color:#000000; background:#ffffe8; '>)</span><span style='color:#000000; background:#ffffe8; '>,</span><span style='color:#000000; background:#ffffe8; '></span> <span style='color:#000000; background:#ffffe8; '>    </span><span style='color:#2a00ff; background:#ffffe8; '>'path'</span><span style='color:#000000; background:#ffffe8; '> </span><span style='color:#000000; background:#ffffe8; '>=</span><span style='color:#000000; background:#ffffe8; '>></span><span style='color:#000000; background:#ffffe8; '> </span><span style='color:#000000; background:#ffffe8; '>$cookie</span><span style='color:#000000; background:#ffffe8; '>-</span><span style='color:#000000; background:#ffffe8; '>></span><span style='color:#7f0055; background:#ffffe8; font-weight:bold; '>getPath</span><span style='color:#000000; background:#ffffe8; '>(</span><span style='color:#000000; background:#ffffe8; '>)</span><span style='color:#000000; background:#ffffe8; '>,</span><span style='color:#000000; background:#ffffe8; '></span> <span style='color:#000000; background:#ffffe8; '>    </span><span style='color:#3f7f59; background:#ffffe8; '>/*</span> <span style='color:#3f7f59; background:#ffffe8; '>    'domain' => $cookie->getConfigDomain(),</span> <span style='color:#3f7f59; background:#ffffe8; '>    'secure' => $cookie->isSecure(),</span> <span style='color:#3f7f59; background:#ffffe8; '>    'httponly' => $cookie->getHttponly()</span> <span style='color:#3f7f59; background:#ffffe8; '>    */</span><span style='color:#000000; background:#ffffe8; '></span> <span style='color:#000000; background:#ffffe8; '>)</span><span style='color:#000000; background:#ffffe8; '>;</span><span style='color:#000000; background:#ffffe8; '></span> <span style='color:#7f0055; background:#ffffe8; '>?></span> |
Как видно из примера, первый способ гораздо проще 🙂