Я не можу увійти після міграції


9

Я шукав, як виглядають сотні рішень, і реалізував їх усі. Я також шукав цей веб-сайт, щоб знайти те саме питання, але не зміг його знайти.

У мене є сайт для розробки та виробничий майданчик. Для переміщення між двома я використовую github push і тягне. Це не було проблемою в минулому, однак я зіткнувся з цією проблемою кілька разів. Після міграції файлів Drupal більше не дозволяє мені входити в систему. Я намагаюся отримати свої облікові дані та негайно отримую сторінку з забороненим доступом.

Файли cookie мого сайту без проблем читають і пишуть. Я знайшов ідентифікатор файлу cookie та виявив, що це запис у базі даних. Отже, файли cookie, здається, працюють нормально, а записи в базі даних працюють дещо чудово.

Проблема, яку я бачу, полягає в тому, що записи сеансів бази даних не зберігають ідентифікаторів користувачів. Коли я вручну змінюю ідентифікатор користувача у db-записі на 1, для мого IP-адреси, а потім оновлюю веб-сайт, я входжу в систему. Будуте ідеї?

  • /programming/2846935/cannot-login-to-drupal-in-chrome-or-firefox-but-safari-works пропонує мені оновити $ cookie_domain у файлі settings.php. Я випробував кожну конфігурацію, і це не допомогло.
  • http://www.go2linux.org/cannot-login-into-drupal-table-corrupted також пропонують мені відновити таблицю сеансів. Я це зробив, очистив сеанси від db та очистив файли cookie. Це не спрацювало.
  • http://www.madebymorgan.com/blog/2010/07/15/cant-login-after-drupal-617-upgrade пропонує мені оновити значення в моєму файлі settings.php: $ cookie_domain та $ base_url. Я пробував кожну комбінацію і невдало.
  • Я прочитав INSTALL.txt , який говорить , щоб виконати наступні команди для відповідних рівнів дозволів і власності: chmod o+w sites/default/settings.php, chmod o+w sites/default, chmod o+w sites/default/files, chmod a-w sites/default/settings.php, chmod a-w sites/default. Це не спрацювало.
  • Патч http://drupal.org/node/56357#comment-236726 додає код у файл сесій. Я це зробив, і це не спрацювало.
  • На http://drupal.org/node/56357#comment-391535 , markus_petrux висунув гарну пропозицію, визначивши PHPSESSID з новою назвою, а також встановивши домен та шлях cookie вручну. Це не спрацювало.
  • http://old.nabble.com/Re%3A-Can%27t-login-p22258960.html пропонує додати register_shutdown_function('session_write_close');в кінці роботи settings.php, що також не працювало для мене.
  • http://drupal.org/node/6696#comment-204863 повідомляє нам додати деякі параметри ini в settings.php, очистити кеш, очистити файли cookie, очистити конфіденційність, перезапустити Firefox та додати до settings.php наступні рядки:
ini_set('session.cookie_domain', 'exampleorg');
ini_set('session.cookie_domain','www.example.org');
ini_set('session.auto_start', 0);

Просто зробив тут невелике відкриття. Мій сайт постійно перемикається між HTTPS та HTTP під час входу. Тож мені цікаво, чи це відкидає сеанс.
консультант з питань електронної комерції

OMG Я ЗНАЙДУ МОЮ ПРОБЛЕМУ. Я налаштував свій віртуальний хост неправильно для свого SSL. Мій SSL вказував на мій сайт розробників, а не на мій живий сайт. Тож той факт, що він перенаправляв мене після входу в ssl, означав, що я повністю змінював веб-сайти. це було жахливо ... Зайняв мене цілий день ..
Консультант з питань електронної комерції

Відповіді:


6

У мене теж була така ж проблема, і це було пов’язано з mod_rewrite. Я ввімкнув mod_rewriteнаступну команду, і проблема була виправлена.

sudo a2enmod rewrite

Іноді це найпростіші рішення. Дякую!
mcriecken

3

FYI, файл ваших сайтів \ default \ settings.php повинен містити файли cookie з тим самим іменем, що і шлях, який ви використовуєте, якщо ваш попередній веб-сервер мав домен www.boldlygowherenomanhasgonebefore.com, і ви перенесли drupal на localhost, файл cookie домен повинен відображати ці зміни:

БУЛО: $cookie_domain = '.boldlygowherenomanhasgonebefore.com';
ЗМІНА НА: $cookie_domain = '.localhost';


Ви виграли :) Це саме те, що я зробив
qasimzee

1

Очевидно, що не ваше рішення, але для всіх, хто приїжджає сюди, у мене була подібна проблема (не вдається увійти), але проблема з чистою URL-адресою була вирішена так:

З чистими URL-адресами щось відбувалося, вони були напівпрацюючими, тому я відкинув їх як проблему, але це було.

Зрештою, мені довелося відредагувати таблицю змінних у БД (змінивши LONGBLOB на LONGTEXT, щоб я міг), вимкнув прапор чистих URL-адрес (встановити "1" на "0"), очистити кеші, щоб видалити кешовану версію змінних.

І тоді справи працювали правильно.


0

Мало того, що це вирішить корінь проблеми, але якщо вам потрібно увійти, ви завжди можете отримати одноразове посилання для входу від Drush:

drush user-login theusername
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.