php Curl conflict CURLOPT_文件和CURLOPT_RETURNTRANSFER in docker

php Curl conflict CURLOPT_文件和CURLOPT_RETURNTRANSFER in docker,php,docker,Php,Docker,当我将curl与CURLOPT_FILE和CURLOPT_RETURNTRANSFER选项一起使用时,文件为空,没有任何curl错误: $fp = fopen($saveTo, 'w+'); $ch = curl_init($fileUrl); curl_setopt($ch, CURLOPT_FILE, $fp); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER,

当我将curl与
CURLOPT_FILE
CURLOPT_RETURNTRANSFER
选项一起使用时,文件为空,没有任何curl错误:

$fp = fopen($saveTo, 'w+');
$ch = curl_init($fileUrl);
curl_setopt($ch, CURLOPT_FILE, $fp);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt ($ch, CURLOPT_COOKIEJAR, 'ccc.text');

curl_exec($ch);
卷曲错误:没有错误

echo curl_strerror(curl_errno($ch)); //No error
通过删除
CURLOPT_RETURNTRANSFER
结果为真

我用apache在PHP5.6和7.2中测试它,用docker中的nginx在PHPFPM 7.2中测试它。

请参阅

似乎在设置之前先设置CURLOPT_文件 CURLOPT_RETURNTRANSFER不起作用,可能是因为CURLOPT_文件 取决于正在设置的CULLOPT_RETURNTRANSFER

所以尝试不同的顺序

$fp = fopen($saveTo, 'w+');
$ch = curl_init($fileUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FILE, $fp);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);    
curl_setopt ($ch, CURLOPT_COOKIEJAR, 'ccc.text');

curl_exec($ch)
另请参见以下内容: ,及