ローカル環境を作っている上でつまずいた事というか困ったこと。
php と mysql の設定が終わり phpmyadmin を入れようかと、phpmyadmin の GiHubt から最新のソースを持ってきた。
バージョンは 4.3.13。
config.inc.php を設定し、いざ phpmyadmin へアクセス。
しかし画面が真っ白・・・
エラーかな?
そういえば php のエラーを出力する設定をしていなかったなと思い、php.ini でエラー出力を設定。
再度アクセスしてみるも真っ白。
config.inc.php を設定する setup ディレクトリにアクセスすると正常に画面が表示される。
あれ、ここは動く?
クッキーがどうのって書いてあるサイトがあったのでクッキーを削除して再度アクセス。
相変わらず真っ白。
php_mbstring をインストールすればって書いてあるサイトがあったので確認したが既に設定済み。
何がいけないのか全く分からず。
もしかしたらエラーが白文字で見えていないだけかもしれないと思い html ソースを表示してみる。
すると・・・
なんとちゃんと html が吐き出されている。
そしてなんか
html{display: none;}
とかいう記述が上の方にあり、どうやら出力はしているが表示を消してしまっている模様。
で、調べたら phpmyadmin の sourceforge で既に問題提唱されていた。
下記がそのやり取り。
⇒ #4574 (ok 4.2.12) Blank/white page when JavaScript disabled
javascritp を切ると表示されるよとの説明があるので javascript を切ってみた。
表示された・・・
でも CSS が効いていないのかデザインぐちゃぐちゃ・・・
このバグは去年末に修正されているはずなのに・・・
ちゃんと GiuHub に書かれている通りブランチは STABLE にしている。
小一時間悩んで出た答えが js や css を正常に取得できていないのではないかというもの。
Nginx から Apache にリバースプロキシするように設定しているのですが、その際に画像と CSS ファイル、JS ファイルは Nginx に処理させるようにしています。
しかし、それが問題でした。
ソースを見ると css や js の取得が「/」が付いてたり付いてなかったり、「./」って書いてあったりと統一されていない。
ので、Nginx 側で正常に処理できていない模様。
という事で Nginx に処理させるのをやめたところ見事動きました。
CSS が適用されずデザインがぐちゃぐちゃな時点でこの問題に気づくべきだった・・・