При возникновении проблемы с curl, запустите его снова с:
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_STDERR, fopen('php://output', 'w'));
Обычно точное сообщение об ошибке где-то там.
Исправлено : CURLOPT_STDERR
действительно нужен потоковый ресурс, как @ Lübnah заявляет в комментариях, и @Roman пытался редактировать (хотя более ранние рецензенты отказывали в редактировании, теперь я включил его в ответить).