我第一次尝试使用PHP(以前使用经典ASP),测试加载远程图片并使用READFILE显示它。在测试过程中,我注意到与我的旧ASP脚本相比,返回时间有很大差异,基本上是做完全相同的事情。PHP版本实际上需要两倍的加载时间。
这是我的PHP代码,仅有三行:
<?php
$url = "https://s3.amazonaws.com/bucket/file.jpg";
header("Content-Type: image/jpeg");
readfile($url);
?>
这是我的ASP版本:
<%
Set objHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP")
objHTTP.Open "GET", "https://s3.amazonaws.com/bucket/file.JPG"
objHTTP.Send
Set Jpeg = Server.CreateObject("Persits.Jpeg")
Jpeg.OpenBinary(objHTTP.responseBody)
Jpeg.SendBinary
%>
为什么我旧的、完成的、过时的、老派的Classic ASP版本比老旧的PHP表现要好得多?ASP版本实际上比PHP版本做得更多。除了READFILE之外,还有其他可以更快的东西吗?我是否正确地使用了READFILE?我不是说我在看时间等待,它们都在一瞬间加载,但PHP有一个非常明显的延迟。