アドオンのKatalon Recorderが原因でした。
概要
dockerコンテナのphpMyAdminでログインしようとしたら、エラーでログインできないよ。数日前はログインできたのに...
Failed to set session cookie. Maybe you are using HTTP instead of HTTPS to access phpMyAdmin.
Code language: plaintext (plaintext)
ブラウザが、非SSLのクッキーを受け付けなくなったのかな?オレオレ証明書を設定しなきゃいけないのかな?
メインのwebアプリケーションはどう?http://localhost:1234/ のように、非SSLで、ポート指定でしょ。
ログインできたよ。非SSLの問題ではないみたいだね
他プロジェクトのphpMyAdminにはログインできるの?
他プロジェクトのphpMyAdminにも、やはりログインできないよ
別のブラウザで試してみた?
Ubuntu18の
FireFox 85
Google Grome 88
どちらもエラーだよ
試しにCookieを削除してみたら?
うん、変わらないね、エラーだよ
mysqlコマンドではログインできるの?
ログインできるね!パスワードやMySQLサーバは問題ないってことだね
別のPCからアクセスしてみたら?
macOSの
FireFox 85
Google Grome 88
どちらもログインできたよ!
phpMyAdminのバージョンは?
えーっと、dockerhubの4.9
ねんのため、最新バージョンを試してみたら?
最新の5.0にしてみたけど、同じエラーだよ。
原因
stackoverflowに次のコメントを見つけたけど
My solution was to disable (add an exception for my domain) to the "Privacy Badger" Firefox Extension.
phpmyadmin Failed to set session cookie. Maybe you are using HTTP instead of HTTPS 2018-04-13
私の解決策は「Privacy Badger」Firefox拡張機能を無効にすることでした。
あっ!最近、Katalon Recorder(カタロンレコーダー)をインストールしたんだった。
Katalon Recorderを無効にしてみるね
phpMyAdminにログインできたよ!
ところで、Katalon Recorderって何?
Selenium IDEのサードパーティ版っていえばいいのかな、本家にはなくなったスクリーンショット命令があるんだよ
Google Chrome用
FireFox用
またstackoverflowに助けられたね
チェックリスト
phpMyAdminも含めて、ログインできない、うまく動かないけど原因がわからないときのチェックリスト。順不同。
□ | 別のブラウザ |
□ | 別のPCのブラウザからアクセスして確認する |
□ | Cookieを削除してみる |
□ | シークレットモード |
□ | mysqlコマンドでログインできるか確認する (パスワードが間違っている?) |
□ | dockerを再起動、build |
□ | 最近インストールしたブラウザアドオンを無効にする |
□ | PC再起動 |
□ | 同じプロジェクトの別webアプリケーションで確認する (非SSLが問題?) |
□ | ホスト側も80ポートにして、http://localhost/ でアクセスしてみる (アドレスのポート指定が問題?) |
□ | localhostではなく、http://127.0.0.1:1234/ や http://127.0.0.1/ でアクセスしてみる |
□ | PCのIPアドレス、http://192.168.0.1:1234/ や http://192.168.0.1/ でアクセスしてみる |
□ | PCのホスト名、http://mypc-2016.local:1234/ や http://mypc-2016.local/ でアクセスしてみる |
□ | ngrokを利用して、https://xxxx.ngrok.io/ でアクセスしてみる (非SSL、ホスト名、ポート指定が問題?) |
□ | 他プロジェクトのphpMyAdminで確認する |
□ | 最新のphpMyAdminで確認する |