やっと動いた

やっと動きました。。。
MovableTypeが動かなくて、かなり手こずりました。

事の発端はUbuntu Serverを12.04LTSから14.04LTSにアップグレードしたことですが。

Apacheが2.4に上がってたり、
Perlが5.18に上がってたり、
PHPが5.5に上がってたりして、
MovableType5が動かなくなってしまいました。

はい。

仕方無いのでMovableTypeを6に上げて、

Apache直して、MovableTypeのphp/extlib/smarty/libs/Smarty_Compiler.class.phpも

/* replace special blocks by "{php}" */ /* 修正後 */ $source_content = preg_replace_callback($search, create_function ('$matches', "return '" . $this->_quote_replace($this->left_delimiter) . 'php' . "' . str_repeat(\"\n\", substr_count('\$matches[1]', \"\n\")) .'" . $this->_quote_replace($this->right_delimiter) . "';") , $source_content);

/* 修正前
$source_content = preg_replace($search.'e', "'"
. $this->_quote_replace($this->left_delimiter) . 'php'
. "' . str_repeat(\"\n\", substr_count('\\0', \"\n\")) .'"
. $this->_quote_replace($this->right_delimiter)
. "'"
, $source_content);
*/

という感じで直して、、、やっと動いたところです。

MovableTypeはバージョンアップする度に全てのテンプレートを一度リセットしないと、どこかに綻びが出てしまうのが悩ましいところですね。いっそのこと全部データベースに持ってくれて、アップデートしても影響無いようになっていると嬉しいのですが。

# まだまだ、あっちこっち死んでる気がするけど。