HAGANEYA(@imech_jp)です。
先日、溜まっていたWordPressプラグインをまとめてアップデートした際に、構文エラーによってブログが開けなくなるトラブルに遭遇しました。
関連記事
『Newpost Catch』アップデート後に構文エラーが出て困っている方へ
この件に関しては、上記リンクに書いた通り「PHPのバージョンを5.3以上に上げる」ことで解決したのですが、今度は PHPバージョンを上げたことによって別のプログラムに構文エラーが発生しました。
今回、構文エラー発生によって使用できなくなったのは『Research Artisan Lite(リサーチアルチザンライト)』。PHPで動作する、サーバー設置型のアクセス解析ツールです。
アクセス解析ツールについては『Google Analytics』も併用しているので必須ではないのですが、リサーチアルチザンライト最大の特徴である "わかりやすい" というメリットがあまりにも大きく、普段はもっぱらこちらを利用していたりします。
WordPressテーマのバージョンアップなどによって一時的に解析用タグが外れてしまい、アクセスログを取得出来なくなることはあったのですが、今度は厄介な "構文エラー"。一難去ってまた一難・・・という感じです。
構文エラー「Warning: strftime():」発生時の対処法
エラーの内容を読んでみると、"timezone" という単語がやたら目立ちます。とりあえず、日付・時刻関連でエラーが発生しているということはわかりました。
PHP関連の情報を扱うブログをいくつか読んでみましたが、どうやら「PHP5.3以降のバージョンでは、TZ(タイムゾーンを示す環境変数)の値を指定しなければならない」ようです。
参考記事
PHPで「Warning: strtotime()~」のエラーが出た時 | アイビースター
タイムゾーンの値を指定するためには、php.ini を開いて date.timezone = Asia/Tokyo の一文を追加すればOKです。『さくらインターネット』の場合は、サーバコントロールパネル(管理画面)から [PHP設定の編集] ページを開き、テキストボックス内に date.timezone = Asia/Tokyo と入力して [保存する] をクリックします。
もしくは、FTPクライアント経由で php.ini ファイルをダウンロードして、テキストエディタから直接編集するのもアリです。
無事にログイン画面が表示されました。
最後に
というわけで残念ながら、16時以降のアクセスログは吹き飛んでしまいました。
今回はブログが落ちたわけではないため、実際のアクセスは途絶えていないのですが・・・空白部分のデータが一生参照できないというのは、やっぱり凹みますね。サーバー設置型ツールの辛いところです。
最新情報をお届けします