当 Firefox 尝试加载 PHP 生成的图像文件时,我遇到了一些奇怪的问题。在 Mac 和 Windows(7、8、10)上发生。
Firefox 控制台说:
图像损坏或截断。
在 Chrome、Safari 和 IE/Edge 中一切正常。
但这不是一个持续的错误,有时相同的图像在 Firefox 中完全或至少部分加载。
由 Apache 直接提供的静态图像也可以正常工作。
服务器端代码非常基本,如下所示:
$response = new BinaryFileResponse($file->getPathname());
return $response;
这是静态(工作)图像的原始响应标头:
Connection: close
Date: Thu, 20 Oct 2016 11:55:04 GMT
Etag: "1ab1567-d2e0-53f396a39fd2e"
Server: Apache
Vary: User-Agent
这是 PHP 生成的图像之一:
Accept-Ranges: bytes
Cache-Control: max-age=1209600, public, s-maxage=1209600
Connection: close
Content-Encoding: gzip
Content-Type: image/jpeg
Date: Thu, 20 Oct 2016 11:57:45 GMT
Last-Modified: Thu, 20 Oct 2016 10:12:05 GMT
Server: Apache
Transfer-Encoding: chunked
Vary: Accept-Encoding,User-Agent
值得一提的是,我在大约 30 个网站中使用相同的脚本,没有任何问题。所以也许这是一个服务器端问题?