PHP exec()curl返回errno 18(CURLE_PARTIAL_FILE)

When I use the shell command curl from PHP to grab a zip format file, it returns errno 18.

I retried 3 times, it always returns errno 18.

Code:

    $shell = "curl \"{$url}\" -k -o {$localfile} "; 

    exec($shell, $outPut, $rVal);

The return value, $rVal, always equals 18 (CURLE_PARTIAL_FILE).

Someone said CURLE_PARTIAL_FILE means that the transfer was aborted before the full contents arrived.

I wonder if it should return errno 28 instead [Operation timeout. The specified time-out period was reached according to the conditions.]?

Can anyone help me?