MT4.26のrun-periodic-taskでエラーメッセージ
6月18日に出荷されたMT4.261で本記事のエラーは解消されるようです。
主なアップデート内容にバグフィクスと脆弱性対応らしいのですぐにアップデートしたい所ですが、念のために使用実験を始めました。
run-periodic-taskのエラー
現在、製作中のテンプレートを含めプラグインの動作にも問題がなさそうでしたが、日時指定投稿(指定日投稿)のために使っているrun-periodic-taskがエラーを吐き出した。
(具体的にはcronデーモンからメールで届くんだけど)
(in cleanup) Can't call method "registry" on an undefined value at lib/MT/Component.pm line 558 during global destruction.
確かにエラーメッセージのメールが届くが、MTの管理画面で見るログには記録されていない。
エラーに実害なし?
試しに日時指定投稿を行って見ると正常に動作した。
しかし、その時も同じエラーメッセージが吐き出される。
どうやら実害はなさそうなのでこのまま放置しても良いが、cronは一時間ごとに設定してあるのでエラーメッセージのメールが頻繁に届くのはちと困る。
かといってcronからのメールを全て止めてしまうと、本当のエラーが起こった時に気付けなくて困る。
というわけでこのエラーを解消させた。
エラーメッセージが出る理由とメッセージを消す方法
今回、私を救ってくれたのはmaRkさんの記事『MT-Xsearchによるタグ検索が4.26でエラーの件 ? maRkのMyOwn』。
ということは、mt-xsearch.cgiとそのプラグインに関連してComponent.pmでおこられているといった感じでしょうか。
mt-xsearch.cgiの先頭行の-wを削除することで上記のエラーがでないようでして、今のところこれで対処してます。
なるほど成る程。
Perlの警告スイッチ(-w
)が原因ならエラーに実害がないのも納得。
にわかPerl使いの知識ですが、警告スイッチによって出される警告は使用者ではなく製作者に向けたものです、たしか。
警告の原因解消は凄腕の人たちに託すとして、私は警告を消すべくrun-periodic-taskファイルを修正しました。
といってもファイルの一行目から-w
を削るだけです。
#!/usr/bin/perl -w
タタタと消しておしまいです。
#!/usr/bin/perl
忘れずアップロード。
エラーメッセージのメールは止まりました。
もしも、同じエラーメッセージの出るcgiファイルがあれば、警告スイッチを切れば解消されるのではないでしょうか。
コメント[0]
コメント投稿フォーム
コメントを投稿するにはJavaScirptが必要です。ブラウザのJavaScriptを有効にしてください。
トラックバック[0]
トラックバックはまだありません。
コメントはまだありません。