私は何百ものソリューションのように感じられるものを検索し、それらすべてを実装しました。同じ質問を見つけるためにこのウェブサイトも検索しましたが、見つかりませんでした。
開発サイトと本番サイトがあります。 2つの間で移行するには、githubのプッシュとプルを使用します。これは過去の問題ではありませんでしたが、この問題に何度も遭遇しました。ファイルの移行後Drupalでログインできなくなりました。ログイン資格情報を入力すると、すぐにアクセス拒否ページが表示されます。
私のサイトのCookieは問題なく読み書きできます。私はCookie IDを見つけ、それがデータベースのエントリであることを見つけました。したがって、Cookieは正常に機能しているようで、データベースエントリはある程度正常に機能しています。
私が見ることができる問題は、データベースセッションレコードがユーザーIDを保存していないことです。自分のIPのdbレコードのユーザーIDを手動で1に変更してからWebサイトを更新すると、ログインします。
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
_。うまくいきませんでした。register_shutdown_function('session_write_close');
を追加することをお勧めします。うまくいきませんでした。_ini_set('session.cookie_domain', 'exampleorg');
ini_set('session.cookie_domain','www.example.org');
ini_set('session.auto_start', 0);
_
私にも同じ問題があり、それはmod_rewrite
に関連していました。次のコマンドでmod_rewrite
を有効にして、問題を修正しました。
Sudo a2enmod rewrite
参考までに、sites\default\settings.phpファイルには、使用しているパスと同じ名前のCookieが含まれている必要があります。これにより、以前のWebサーバーのドメインがwww.boldlygowherenomanhasgonebefore.comで、drupal localhostに、cookieドメインはその変更を反映する必要があります。
WAS:$cookie_domain = '.boldlygowherenomanhasgonebefore.com';
変更先:$cookie_domain = '.localhost';
明らかにあなたの解決策ではありませんが、ここに来る他の人のために、私は同様の問題を抱えていました(ログインできません)が、私の問題は次のように解決されたきれいなURLの問題でした:
きれいなURLで何かが起こっていて、それらは半機能的でした、それが私がそれらを問題として却下した理由ですが、それはそうでした。
最終的に、DBの変数テーブルを編集し(LONGBLOBをLONGTEXTに変更できるようにした)、クリーンURLフラグをオフにし(「1」を「0」に設定)、キャッシュをクリアして変数のキャッシュバージョンを削除しました。
そして、物事は正しく機能しました。
これで問題の根本が解決されるわけではありませんが、ログインする必要がある場合は、Drushから常に1回限りのログインリンクを取得できます。
drush user-login theusername