web-dev-qa-db-ja.com

「drush uli」は正しいリンクを生成しますが、「アクセス拒否」になります

(共有ホスティングでホストされている)WebサイトにDrushエイリアスを設定しました。drush statusなどのコマンドが原因で、エイリアスは正しく機能します。 drush cc allなどが機能します。問題はdrush uliで発生します。ワンタイムログインリンクを生成し、ドメインは正しく、すべてが正常に見えますが、ブラウザに入力すると、standardDrupalになります

アクセスが拒否されました

ページ。

エイリアスの設定の一部とpath-alias- esに関するいくつかの興味深い問題、データベース設定との関係、エイリアスの使用法と関連性については、最初に Drushの問題のページで説明しています。 GitHubで

技術的な案内:

  • これはクリーンなDrupal 7インストールで、contribモジュールはありません。
  • パスワードを使用してログインできます(同じエイリアスを使用してdrush upwdで設定されたパスワードを使用しても)。
  • StackExchangeの 似ているがまだ異なる問題 で説明されているすべての可能なソース(sessionsテーブルの切り捨てなど)をチェックしました。
  • Drupal.orgのさまざまな同様の議論で提案されているように、私はさまざまなブラウザーを試し、ブラウザーのキャッシュとCookieをクリアしましたが、すべて運がありませんでした。

Drushエイリアス:

$aliases['myalias'] = array(
  'uri' => 'mysite.com',
  'root' => '/home/mysite.com/web',
  'path-aliases' => array(
    '%drush' => '/home/.composer/vendor/drush/drush',
   ),
  '%files' => '/home/mysite.com/web/sites/mysite.com/files',
); 

エイリアスは、キャッシュのクリアなどの他のコマンドでも正しく機能し、drush statusはDrupalが正しくブートストラップされていることを確認します。

8
David Lukac

drush uliAccess Deniedに到達する理由が正確にわかりません。 sersテーブルのワンタイムリンクの検証/生成および/または不正なタイムスタンプの問題だと思います。

解決策は、データベース内のパスワードを削除することでした。 (drush upwdを介して、またはDrupalで直接変更することは機能しませんでした。)ユーザーのパスワードを削除した後、drush uliを実行できました。

2
David Lukac

これは、ユーザーがブロックされているときに発生する可能性があります。 「ユーザー」テーブルでステータスを1に設定すると、解決される場合があります。

9
xtfer

ローカル開発セットアップでこれに遭遇しただけです。$cookie_domainでコミットされたsettings.php設定であることが判明しました...これが本番URLに設定されている場合、not有効なcookieを取得するため、アクセスは許可されません。 $cookie_domainのローカル開発環境に一致するようにlocal-settings.phpをオーバーライドするとうまくいきました!

2
Tyler Fahey

フラッドテーブル も確認してください。可能性としては、アクセスをブロックしているIPアドレスによる試行が失敗したレコードがあります。

2
Scott Shipman