MovableTypeアクセス不可(Perl-5.26にするとハマるので要注意)

  • 投稿日:
  • by
  • カテゴリ:

...このブログがぶっ飛ぶかと思いましたヨ...。

皆さんはちゃんとWindows Updateをしてますか?
セキュリティ対策はきちんとやっておいた方がいいですよ。あっという間に侵入されますからね。
サーバーも同様で、脆弱性を突かれるとあっという間に侵入されます。
なので定期的な更新は必要...なんですけどね。

何も考えずにパッケージをアップグレードした結果、このブログの編集用画面には1行だけ。

Got an error: Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/{{ <-- HERE support}}/?/

ヒント短っ!ΣΣ(゚д゚lll)ズガーン!!
しかもエラーが発生しているファイル名は伏せられてるとか何のパズルですか...。
エラー内容は左括弧({)が正規表現の中でエスケープされてないことに関するもの。
Perlの文法とかよく知らんて!
とは言えこれを解かないとブログに投稿できないし、他のブログに移行しようとしてもエクスポートできないし...。
正直トップページ直修正で
「ブログ移転しました(ただしこのサイトの中で)」
的なことを書こうかと思ってましたよ...。

ヒントになったのはmt-check.cgiのInternal Server Error。
こちらはサバエラが出てhttp-error.logにエラーが表示されたのでどこで出たか分かりました。
結局エラー内容通りだったんだけど、ワカリニクイヨ、エラー表示...。

修正箇所は以下の2点。両方とも「lib/MT/App/CMS.pm」です。

1. 4828行目

$css =~ s#{{support}}/?#$app->support_directory_url#ie;

$css =~ s#\{\{support}}/?#$app->support_directory_url#ie;

2. 4830行目

$css =~ s#{{theme_static}}/?#$theme->static_file_url#ie;

$css =~ s#\{\{theme_static}}/?#$theme->static_file_url#ie;

これで見えるようになりました。タスカッタ...orz
ちなみにMovableType 6のシステム要件には以下のように書かれてました。

5.8.1 以上(5.18.x を推奨 / Perl 5.22.x 以上は、未検証のため推奨されません。)

バッチリ当たりましたな...。多分5.26にする前は5.22だったと思うけど、そのときは出なかったんですがね。
とにかく治ってよかった。MovableTypeも10年以上使っているけど、そろそろ限界かな...。