cUrlで、スタックオーバーフロー?

2013/05/16

cUrlで下記のようエラーがでてきた。

Warning: curl_getinfo(): xx is not a valid cURL handle resource in xxxxxxx

やろうとしていること

1000以上のURLを元にサイトが生きてるかどうか(ステータスコードの取得)をチェックしたい。

普通にやると時間がかかるので非同期処理の案として「curl_multi」を使うことにした。
だけど「1000以上のURLをセットするのどうなの?」という素人的な疑問を持ち下記のようにした。

1.「1000以上のURL」を「25件」でワンセットにする。
2.ワンセットにした「25件のURL」をcurl_multiへ。
3.「2」をループ。
※つまり「25件ずつチェックする」ってコトだな。

すると冒頭の「Warning」がでてきた。

・「curl_multi_remove_handle」や「curl_multi_close」もしてるけどダメっぽい。
・メモリリークを疑ってみたけど違うっぽい。
・とりあえず「unset()」もしてみたけどダメ。

調べると「スタックオーバーフロー」というワードが出てきた。

しょうがないので「1」の「25件ワンセット」を「5件ワンセット」にして再実行。
すると「Warning」がでてこなくなった。

5件ずつなので非同期のメリットが少ない。
とはいえ、普通に1件ずつ取得するよりは早いので良しとする。

新着(ニュース関連以外)

2018-05-16
PHPで画像のヘッダ情報(?)の「Orientation」を元に画像回転させたい。
2018-03-05
Android Studioをインストール。エミュレータを軽くするトコまで終わらせたかったけど、挫折した。
2018-02-23
プッシュ通知について調べてた時にでてきたServiceWorker。そのServiceWorkerについてのメモ。
2017-12-13
jqueryで取得したDOM要素をオブジェクトじゃなくて、配列で受け取りたい
2017-11-30
Xampp+FuelPHP1.8をサーバーにupしたらエラーになった。