XREAの2015/3/25のサーバメンテで発生した作業メモ
- 2015/03/28 11:02
- カテゴリー:日記
先日、私が使っているレンタルサーバのメンテ作業があり、
これに伴い諸々サーバ環境のVerUPが実施されサイトが表示されなくなりました。
どうでも良いと思っていたこのサイトですが、
いざ表示されないし、ブログも書けないしとなると寂しいもんですね。
あきらめかけていたところムグバンのギタリスト ムグ氏より救いの手を差し伸べていただきました。
ほとんどプログラム直してもらった。私はデータの差し替えをしたくらい。
ありがとうございます。
私が2日かけて調べて分からなかったのに、プログラムデータをメールで送って10分後には修正されたデータが送られてきていました(汗
ということで復旧にあたりネットでお世話になったページとムグ氏に感謝を込めて
同じ状況で困っている人の為になるかも知れないと思い稚拙ながら今回の復旧に至ったまでの作業を残しておこうと思います。
まず、今回のVerUP内容はこれ。
http://www.xrea.com/info/upgrade2014.html
私のサイトの構成は
http://www.asamitomohiko.com/ にアクセスすると
① アクセスしてきた端末がガラケーかそれ以外かを判別してガラケー用ページかPC用ページかいずれかを表示する。 もう、今のご時世携帯電話端末もスマホ率が高いので既にガラケーを判断する必要は無いと思われる。
非常に旧式。
② PC用サイトはhtmlのテーブルでレイアウトされてて
ブログページとアクセスカウンターのプログラムをiFrame内に読み込むように設置されている。
当時、すごくデザイン悩んだ記憶がある。
こちらも非常に旧式な考え方と思われる。
③ ブログページはfreoというプログラムを利用している。
今回起きた不具合は ①アクセス端末判断するphpがエラー。トップページにエラー文が出るのみ
②アクセスカウンターがワーニング吐いている。
③freoがエラーとワーニング吐いて中身が表示されない。
①と②はhtmlを定義してからphpを書いたけど、そもそもファイル名が*.phpなのでphpを定義して必要なところにhtmlを書けば良いということなのかな。
こちらは完全にムグ氏に修正頂いた。
例)
もともとのソース
<html> <head> <title>麻美の部屋 Infomation</title> <meta http-equiv="Content-Language" content="ja"> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <meta name="author" contents="Studio Joe http://www.asamitomohiko.com"> <?php //=================クッキーの書き込み================== $date_now = date("Y/m/d"); //日付の取得 $cookie = $date_now; setcookie("G_Access",$cookie); ?> </head> <body link="blue" vlink="blue"> Your Access,
<center> <?php //========================メイン処理======================== //スーパーグローバル変数対策 if(!isset($G_Access)){ $G_Access = $_COOKIE["G_Access"]; } $data_file = './access.dat'; //データファイル $fp = fopen("$data_file", "r+"); $cnt_num = fgets($fp, 64); if($G_Access != $date_now){ $cnt_num++; fseek($fp, 0); flock($fp,2); fwrite($fp, $cnt_num); } fclose($fp); $f_pass = './a_gif'; for($i = 0; $i < strlen($cnt_num); $i++) $value[] = substr($cnt_num, $i , 1); for($j = 0; $j < count($value); $j++) echo "<img src=$f_pass/" . $value[$j] . ".gif>"; ?> <br> Since 01/5/25
</center> <br> </body> </html>
修正してもらったソース
<?php //=================クッキーの書き込み================== $date_now = date("Y/m/d"); //日付の取得 $cookie = $date_now; setcookie("G_Access",$cookie); ?> <html> <head> <title>麻美の部屋 Infomation <meta http-equiv="Content-Language" content="ja"> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <meta name="author" contents="Studio Joe http://www.asamitomohiko.com"> </head> <body link="blue" vlink="blue"> <small> Your Access,
<center> <?php //========================メイン処理======================== //スーパーグローバル変数対策 if(!isset($G_Access)){ $G_Access = $_COOKIE["G_Access"]; } $data_file = './access.dat'; //データファイル $fp = fopen("$data_file", "r+"); $cnt_num = fgets($fp, 64); if($G_Access != $date_now){ $cnt_num++; fseek($fp, 0); flock($fp,2); fwrite($fp, $cnt_num); } fclose($fp); $f_pass = './a_gif'; for($i = 0; $i < strlen($cnt_num); $i++) $value[] = substr($cnt_num, $i , 1); for($j = 0; $j < count($value); $j++) echo "<img src=$f_pass/" . $value[$j] . ".gif>"; ?> <br> Since 01/5/25
</center> <br> </body> </html>
おそらくこの程度の修正ができないのは非常に恥ずかしいことだと思うのだが、 きっと私レベルの人は世の中にいっぱいいるはず。
ちなみに正しい原因は私は理解できていません。
③のfreoのエラーはデータベースが復旧していないとの指摘をムグ氏にいただき、
tera termでサーバ操作で復旧
XREAのデータベース復旧については下記のサイトにお世話になりました。
http://nobuneko.com/blog/archives/2015/01/xrea_20150121_maintenance_mysql.html 久しぶりにコマンドプロンプト使った。10年以上ぶりな気がする。
XREAの管理画面からはデータベースの復旧失敗していました。
tera termというソフトでサーバ操作しました。
freoのWarningは設定ファイルの保存形式が不適切だったとのこと。
BOM付きUTF-8だったので適切な形式で保存して、こちらもムグ氏に送ってもらいました。
大感謝。
BOMってなんだろう?と思って調べたら下記サイトにまとまっていた。
http://www.php-factory.net/trivia/03.php
情報があれば今の時代、検索すれば何でも分かるんだろうけど、そもそも何が原因と考えられるのかの知識が無いとそこまでたどり着けない。
勉強大事。
プロはやはりプロ。
日記長いし、プロには不要な情報だし、アマには不親切な情報だし、
誰も得をしないがブログ復旧記念に何か書きたかった。
よろしゅう。
■今日の一曲
mugbum /youtube より rubi, 20150301 at Gateway, ikebukuro
感謝感謝。
5月24日新宿でライブです。よろしく。
詳細はmugbumをチェック!