Чтоб понять в каком месте он не срабатывает как ожидается, надо после каждого этапа выводить отладочную информацию ручками.
Первый этап - получение информации из внешнего источника. Ну вот и выводите в файл результат:
$cur = curl_init(); if($cur) fwrite($log, date('c').' Curl инициализировали'); else { fwrite($log, date('c').' Сurl не получилось инициализировать'); exit(1); } if(curl_setopt($cur, CURLOPT_URL, $url) fwrite($log, date('c').' Curl задали URL'); else { fwrite($log, date('c').' Сurl не получилось задать URL ['.curl_error($cur).']'); exit(2); } //Примерно так дальше.Кста: по ошибке выхода сразу будет видно где вылетело. Собственно, для этого и изобретали.