我的卷曲脚本看起来像这样:
<?php
echo "hello";
$download_file = "http://www.myremotesite.com/api/download.php?autoupdate=1";
$temp_file = tempnam('/tmp','TEMP');
$ch2 = curl_init();
curl_setopt($ch2, CURLOPT_URL, $download_file);
curl_setopt($ch2, CURLOPT_HEADER, FALSE);
curl_setopt($ch2, CURLOPT_FAILONERROR, FALSE);
curl_setopt($ch2, CURLOPT_BINARYTRANSFER, TRUE);
curl_setopt($ch2, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch2, CURLOPT_TIMEOUT, 10000);
$file = curl_exec($ch2);
curl_close($ch2);
$fp = fopen($temp_file, 'w');
fwrite($fp, $file);
fclose($fp);
?>
问题是执行后页面上的输出如下所示:
hellohello
根据我的测试,我将其缩小到$ download_file网址。如果我将其更改为http://www.google.com,则没有问题。
有什么想法导致这种双倍输出?对于不同的URL,它也会在其他情况下发生。我真的认为这是基于服务器的东西,因为同样的设置在其他主机上运行良好。
服务器信息 Linux x-mirrors.com 2.6.26-2-openvz-amd64#1 SMP Tue Jan 25 06:04:33 UTC 2011 x86_64 PHP版本5.2.6-1 + lenny10 启用快速CGI
答案 0 :(得分:1)
我有同样的问题。这可能是因为.htaccess文件。如果你使用
RewriteEngine On
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
。没有它们检查它。