Movable Type トラックバックやping送信時の500エラー対処法

更新日: 公開日:2006/10/01
Movable Type

MovableType エントリー投稿時にのトラックバックや ping を送信する処理において、500エラーが戻って来る事象が起きてしまいました。

原因を探ってみると、どうやら送り先のサーバーで処理に時間が掛かってしまい、レスポンスが戻ってくる前に Movable Type 側で勝手にタイムアウトしてしまったようでした。

MovableType の設定変更で対応

Movable Type には、外部サーバーへ HTTP リクエストを送る際のタイムアウト値が設定されています。初期設定は60秒です。

要するに Ping 送信時のレスポンスの待ち時間を延ばせば、タイムアウトエラーが発生しにくくなります。完全にエラーを排除できないのは、相手側のサーバーの状況が分からないため、いくらタイムアウトの時間を伸ばしても、レスポンスが戻ってこないケースがあるためです。

タイムアウト時間を延長する

タイムアウトの設定は mt-config.cgi に記します。Movable Type をインストールしたフォルダに格納されたファイルです。設定値の定義は次の通り。

#HTTPタイムアウト設定
HTTPTimeout 秒数

mt-config.cgi 上に記載がなければ、初期値60秒になります。記載する箇所は mt-config.cgi ファイル上であればどこでも構いません。追記したデータであることが分かるように、ファイルの末尾に追加するのがおすすめです。

Movable Type のリファレンスページには、サンプルとして300秒が設定されています。もしここまで待ちたくなければ、短くしても大丈夫です。30秒ずつ延ばして、様子を見ながら自身の環境にあった設定時間を見つけてください。

#HTTPタイムアウト設定(120秒で設定)
HTTPTimeout 120

これで500エラーが出る頻度は少なくなるでしょう。まだ頻発するようであれば、もう少し時間を伸ばしてみたりトラックバックの送信先の見直しを行ってみてください。

MT3.3 より前は PingTimeout で設定

以前は同様のタイムアウト設定を PingTimeout で行っていました。設定の定義は同じですが、今は HTTPTimeout に置き換わっています。

PingTimeout は廃止された機能なので、ご注意ください。

\ この記事をシェアする /

このブログの運営者

NJ

Web系メインで従事していた元システムエンジニア。現在は個人事業主として独立。Webサイト運営における「困った問題」の解決方法をブログで発信。Web サイト運営、ポップデザインや動画制作など、パソコンでモノづくりをしている。