数日前から 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
動く…(サーバエンジニアでは当たり前の話なのかもしれないですが)参考までに😄