Yuriko.Net 個別記事

2006-12-28
晴れ

Services_Trackback には HTTP_Request が必要

ゆりこ による 02:43:11 の投稿
カテゴリー: ソフトウェア

今後の機能追加 2006-12-27版の追記で「『ヨソへのトラックバックの送信機能』はさきほど作成」と書いたのですが、ローカルでのテストしかしてなくて、本番環境 (このサイト) では試していませんでした。しかし、Yuriko.Net 旅行記のテキトーな記事にトラックバック送信してみると、ブラウザー画面が真っ白になります!! PHP の実行が途中でエラーになっているようです。

ローカルでは動いているので、スクリプトには問題ないはずと考えて、ローカル環境とサーバー環境の違いを調べますが、呼び出している PEAR パッケージ Services_Trackback には違いがありません。

仕方なく、スクリプトに主要な変数・オブジェクトを print_r で出力させるようなデバッグ出力をつけてトラックバック送信させてみると、Services_Trackback の send() メソッドに入ったところでコケていることが分かりました。それなら、ということで、Services_Trackback のソースを読んでみると、PEAR の HTTP_Request パッケージを呼んでいるようです。ビンゴ!! ローカルではこのパッケージが入っていますが、サーバーには入っていないのです!! このパッケージをサーバーに入れれば万事解決です。

pear コマンドでインストールしたら関連パッケージはインストールされるはずですが、必ずしも必要でないパッケージは入らないことがあります。HTTP_Request は Useragent 文字列をオプションで指定したときだけ呼ばれるので、必須でないパッケージという扱いのようです……。

なお、Services_Trackback にはバグがあって、Useragent をオプションで与えてもうまく反映されません (Notice: Undefined index: useragent という Notice が出る)。397行目を以下のように修正する必要があります。

$req->addHeader("User-Agent", $options['useragent']);

トラックバック・コメント »

コメントはありません。

上に戻る

※スパム対策プラグインの影響により、すぐにトラックバックが反映されない場合があります。お手数ですが、半日ほど待ってみてください。

コメント投稿

※発言の責任を明確にするため「名無し」「通りすがり」「匿名希望」等の匿名は不可とします。捨てハンドルでもいいので必ず名乗ってください。
XHTML (使えるタグ): <a href="" title="" ktai=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt=""> .
※スパム対策プラグインの影響により、すぐにコメント内容が表示されない場合があります。お手数ですが、半日ほど待ってみてください。

上に戻る