数日前から pH7cmsという open sourceの SNSを VirtualBox上で動作させるべくセットアップを行っていて(これはこれで結構苦労した)、その中で adminへのログインが出来なくてハマった時の話

環境:

  • macOS High Sierra
  • VirtualBox 5.2.6
  • CentOS 7.4.1708
  • PHP 7.0.27
  • NGINX 1.12.2
  • MySQL 5.6.39
  • pH7cms

トップページが表示できたので adminでログインして設定関係を確認しようとしたら、なんとログイン出来ない。PHPや MySQLのバージョンを変えてみて再インストールしてみたりしたが改善されず。コードにログを埋め込みながら確認をすすめていたら、なんと、FireFoxだと動く事が判明。

Safariと Chromeでは相変わらずダメ、このあたりから、Cookieを疑い始め、Headerを調べてみる。案の定、Firefox以外は、Cookieの値がおかしい(書き込まれていない)。同時に立ち上げていた AWSでも開発環境をセットアップしていたが、こちらではどのブラウザでも問題なく動く。

ひょっとして、setcookie()でドメイン送っているパターンですか?調べてみると、確かに送っている。この場合、送っているものは、IPアドレス(192.168.56.101)。ためしに、mac側と VirtualBox(CentOS)側両方で hostsを指定してみる。

192.168.56.101 test.com

動く…(サーバエンジニアでは当たり前の話なのかもしれないですが)参考までに😄