[WordPress]Warning: fopen(wp-cron.php?doing_wp_cron)

WordPress 3.0 で投稿すると、下のような警告メッセージが表示されるのに気づく。

Warning: fopen(http://HOST/wp/wp-cron.php?doing_wp_cron) [function.fopen]: failed to open stream: HTTP request failed! in /var/www/wp/wp-includes/class-http.php on line 1045
Warning: Cannot modify header information - headers already sent by (output started at /var/www/wp/wp-includes/class-http.php:1045) in /var/www/wp/wp-includes/functions.php on line 830
Warning: Cannot modify header information - headers already sent by (output started at /var/www/wp/wp-includes/class-http.php:1045) in /var/www/wp/wp-includes/functions.php on line 831


Ticket #11831 Warning when wp-cron fails


warning のもとになっているのは wp-includes/class-http.php の次の箇所で、 WP_DEBUG フラグが真の場合のみ発生。

1042     if ( !WP_DEBUG )
1043       $handle = @fopen($url, 'r', false, $context);
1044     else
1045       $handle = fopen($url, 'r', false, $context);

wp-cron.php へリクエストを送った後、レスポンスが返ってくる前にタイムアウトし、そのまま、ページのロード処理がはしり、問題の警告メッセージが表示されている。
タイムアウトは wp-includes/cron.php で 0.01 秒に設定されている。

233     $cron_url = get_option( 'siteurl' ) . '/wp-cron.php?doing_wp_cron';
234     wp_remote_post( $cron_url, array('timeout' => 0.01, 'blocking' => false,     'sslverify' => apply_filters('https_local_ssl_verify', true)) );

Ticket #8923 : cron timeout is too short


#8923 でなぜタイムアウトが短いのか次のように説明されている。

The timeout does not matter. This is just sending the request to cause the wp-cron to execute on the server.
We don’t care what the results are, it’s just making it start running.
Marking as invalid, because raising that timeout does nothing.

タイムアウト時間を伸ばして fix とする安直な解決策はとられておらず、”defect (bug)” のまま、BTS に居座り続けている。

Tagged with: , , ,
Posted in PHP, web

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

  • RT @__apf__: How to write a research paper: a guide for software engineers & practitioners. docs.google.com/presentation/d… /cc @inwyrd 6 months ago
  • RT @HayatoChiba: 昔、自然と対話しながら数学に打ち込んだら何かを悟れるのではと思いたち、専門書1つだけ持ってパワースポットで名高い奈良の山奥に1週間籠ったことがある。しかし泊まった民宿にドカベンが全巻揃っていたため、水島新司と対話しただけで1週間過ぎた。 それ… 6 months ago
  • RT @googlecloud: Ever wonder what underwater fiber optic internet cables look like? Look no further than this deep dive w/ @NatAndLo: https… 6 months ago
  • @ijin UTC+01:00 な時間帯で生活しています、、、 1 year ago
  • RT @mattcutts: Google's world-class Site Reliability Engineering team wrote a new book: amazon.com/Site-Reliabili… It's about managing produc… 1 year ago
%d bloggers like this: