こんにちは。たびたび失礼します。pingの送信先については、以前、お聞きしたのですが、config.php に書いた順番で送信しているとき、どこかのサーバーがダウンなどしていると、それから後は処理されずに、wordpressが落ちてしまうような気がします。送れないのはしようがないとして、送信した結果などを表示させることはできないでしょうか。というか、この予想は当たっていますか?
> config.php に書いた順番で送信しているとき、どこかのサーバーがダウンなどしていると、> それから後は処理されずに、wordpressが落ちてしまうような気がします。WordPressが落ちてしまうという事は、おそらくApacheのTimeoutに引っかかってしまったって事だと思います。当方で試しに、1番目のサーバ名を存在しないものに変更して実験してみましたけど、2番目以降のサーバに対してのPINGは正常に行われました。送信結果を表示させるのは、かなりの改造が必要みたいです。少し検討させて下さい。もしできるならば、ApacheのTimeOut値を変更して試していただけないでしょうか?
お忙しいところすみません。ApacheのTimeoutにひっかかっているのであれば、送信結果を表示させることも無理っぽいですね。この値は、管理者権限がないので変えられません。今もつながらない ping.bloggers.jp だけにしてテスト書き込みをしてみましたが、やはりWordPressが落ちてしまいました。
PINGサーバへの接続には、fsockopenという関数が実際には使われており、この関数は別途タイムアウト値を設定する事が出来るようになっています。wp-includes/functions.phpの864行目あたりの$result = $client->send($message);を$result = $client->send($message,15);とかに変えると接続タイムアウトを15秒に縮める事が出来ると思います。指定しないときのデフォルトタイムアウト値の資料がないので、どのくらいの値が妥当かの判断が出来ませんが・・・この関数の戻り値は、今のところ最終のPINGサーバのエラーしか拾っていないというかなりいい加減な内容となっております(^_^;)
きのうの夜は、たしか5〜6秒で落ちていたように思います。けさ、送信先を5つ設定して投稿したところ、すべてのPINGサーバに反映されていました。wp-includes/functions.phpのことも頭に入れておきますが、原因は別なところにありそう。投稿するのは、しばらく軽い時間帯にして様子を見てみます。ありがとうございました。
>きのうの夜は、たしか5〜6秒で落ちていたように思います。aibaさんのサイトはおそらくXREAでホスティングされているのだと思いますが、XREAのApacheのTimeoutって10秒に設定されているようです。(実は、小生も昨日別の目的でXREAに初めて登録して、phpinfo()の結果を見たら10になっていました)という事で、重いサーバに対して5つもPINGを送るとなると確実にTIMEOUTで落とされてしまう事になるようですね。0.0.2dでは接続TIMEOUTを15秒にしたんですけど、焼け石に水でしたね(^_^;)
そうです。ApacheのTimeoutって聞いて、phpinfo()の結果を見ました。接続タイムアウトを15秒に縮められると返事をいただいて、普通のサーバーはもっと長いのか〜と、ちょっとがっかりしていたんです。10秒がいいのか悪いのかはよくわかりませんが、上手に使うしかないですね。フォローありがとうございました。
このプログラムは KENT 氏の yybbs を xoops(PHP) に移植したものです - KENT -