このサイトは昨日まで機能していましたが、今は奇妙な動作をしています。
Example.com/user/loginに移動し、ユーザー名とパスワードを入力すると、フォームが正常に送信され、ページがexample.com/user/%uidにリダイレクトされます(uid 1と他のユーザーの両方が試されました)。そしてブーム! アクセスが拒否されました。また、ユーザーはログインしていません。
sessionsテーブルをtruncate table sessions
で切り捨てると、どのユーザーでも一度だけログインできます。その後、uid 1でさえログインできなくなります。
また、パスワードリセットリンクを使用します(コマンドdrush uli
を使用して、問題なくログインできます)。
allcontribモジュールとテーマを無効にしましたが、同じ問題が解決しません。
セッションでこのような問題を引き起こしているのは何ですか?何か案は?
問題は ip_geoloc モジュールでした。それは$ _SESSION変数をめちゃくちゃにしていました、解決策は 問題キュー (今のところ!)で与えられ、モジュールの作者はそれに同意します。私が設定を誤ったために発生している可能性が非常に高いです。ユーザーは正常にログインしましたが、すぐにセッションが無効になりました。どういうわけかそれを無効にするだけでは不十分で、そのディレクトリをDrupal rootから移動する必要がありました。その関数やAPIが他の場所で使用されていないことは100%確実です。キャッシュに関する問題でしょうか?
サインインの問題がある場合は、$ _ SESSION変数をチェックしてみてくださいサーバー上devel を使用して、ヘルパー関数(例 dpm 、- dsm 、 dd 、...または最後の手段としてvar_export)を使用し、google/firefox開発者コンソールを使用しない。
これは私がこの奇妙な行動に直面している3回目であり、修正することができたのは初めてです。この問題が発生している場合は、次のチェックリストに従ってください。
drush rs
_または_drush rs the.ip.goes.here:thePort
_ですdrush ard
_またはデータベース_drush sql-dump > db.sql
_を使用してバックアップを作成するか、backup_migrateモジュールを使用できます)drush dis -y $(drush pml --nocore --status=enabled --pipe)
->このコマンドは* nixシステムでのみ機能します。ウィンドウの直接変換がわかりません。drush en seven && drush vset theme_default seven
_;幸運のデバッグ!
私にとってうまくいったのは、$cookie_domain
settings.phpの変数(2つの異なるドメインからアクセスできるサイトがあるため)。
この変数の前のコメントに注意してください!ドメイン名はピリオドで始まる必要があります。例:
$cookie_domain = '.example.com';
幸運を!