【メモ】 PostTweetのバージョンアップしようとしたら嵌まって、原因はFastCGIだった(MovableType)

全国250人のMovableTypeファンの皆さんこんにちは、MovableTypeプラグインのお時間です。


いや、そうたいそうなお話ではないのですが、エムロジック謹製のMovableType用Twitterプラグインがバージョン1.0.6にアップデートしていました。Movable Type 5.1へ対応したほか、記事が公開された後にツイートされるようにツイートのタイミングを変更されるなどなかなか素敵なアップデートです。


MovableType用PostTweetプラグイン v1.0.6 (エムロジック放課後プロジェクト)

PostTweetプラグインのバージョンアップを行いました。変更点は次の通りです。

  • Movable Type 5.1への対応
  • PublishCharsetをUTF-8以外に設定したMovable Type 4.xでの動作対応
  • ブログ記事/ウェブページ単位で投稿タイミングを保存する機能を追加し、その初期値をプラグイン設定にて設定できるようにした
  • ブログ記事/ウェブページの編集内容に応じてツイートの内容をプレビューする機能を追加した
  • ブログ記事/ウェブページが公開された後にツイートされるようツイートのタイミングを変更した
  • OAuth認証方式の見直し
  • bitly APIのエラーコード取得方法を変更した
jQueryの使用に伴い本バージョンより動作対象となるMovable Typeのバージョンを4.25以降に変更しております。ご注意ください。




で、バージョンアップしようと思ったのですけど、何度インストールしてみてもバージョン1.0.3のまま。パーミッションなども問題なし。その他、

  • 有効/無効を切り替えても切り替わらない
  • ページ更新ごとにプラグインが表示されたり消えたりする
  • プラグインの設定が反映されない

などの問題も次々に起こるようになって頭を抱えていたのですが、FastCGIで調べたらすぐに公式サイトが引っかかりました。


FastCGIのインストールと設定 : Movable Type 5 ドキュメント

FastCGIの運用

  • 長期間FastCGIを使ってApacheの運用を行った場合、FastCGI化されたMTが不安定な挙動を起こしたり、無応答になる場合があります。この不具合はmod_fcgidで修正されているとされていますが、完全では無いとの報告も上がっています。
  • このような状態になった場合はApacheを再起動して、定期的にFastCGIをリフレッシュさせる事で不具合のあるFastCGIプロセスを終了させる事が出来ます。同様にダイナミックパブリッシングに利用されているPHPも不安定になる場合があるので、Apacheの定期的な再起動は有用です。
  • またプラグインをインストールした後など、MTのシステムに変更を行った場合、MTのディレクトリに入って以下のコマンドを実行し、mt.fcgiのタイムスタンプを更新します。これによりFastCGI側のプロセスがシステムが更新された事を認識しApacheのリスタート無しにMTシステム+FastCGIの更新ができます。
# cd /var/www/cgi-bin/mt/
# touch *.fcgi ./




あー…

まぁ、理屈はよく分からないんですけど、とりあえずApacheの再起動したら良いんだろ?ということで、MovableTypeが動いているバックエンドのApacheを再起動して一件落着。


よかったよかった。

そんなことがあるんですね。


動作環境

  • MovableType 5.12
  • FastCGI(mod_fcgid)2.3.6
  • PostTweet 1.0.6