繁体   English   中英

IIS 7.5上的PHP通过浏览器速度较慢,但​​通过命令行速度较慢

[英]PHP on IIS 7.5 Slow through browser but fast through command-line

我有一个PHP脚本,该脚本具有for循环,可从AWS下载一些pdf / jpg文件。

我目前正在测试它,它正在下载180个文件,总计约64MB。

当我使用http://localhost/script.php通过浏览器调用脚本时,该脚本大约需要10到12分钟才能完全完成。

如果我通过运行c:\\ Program Files(x86)\\ PHP \\ v5.6 \\ php-cgi.exe -f“ c:\\ WebApps \\ scripts.php”从命令提示符处调用同一脚本,则完整脚本的运行时间约为5秒,然后正确下载所有文件。

是否有人知道会导致这种巨大差异的原因?

我在Windows 2008 R2的IIS 7.5上使用PHP 5.6。

我最终通过更改用于下载文件的方法解决了该问题。 我最初使用file_put_contents,然后切换到curl。

我正在使用以下功能:

function retrieveandsave($url, $pathtosave, $filename){
if (!file_exists($pathtosave)) {
    mkdir($pathtosave, 0777, true);
}

$fp = fopen ($pathtosave . $filename, 'w+');
$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, $url );
curl_setopt( $ch, CURLOPT_BINARYTRANSFER, true );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, false );
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false );

curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, 10 );
curl_setopt( $ch, CURLOPT_FILE, $fp );
curl_exec( $ch );
curl_close( $ch );
fclose( $fp );

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM