首先,感谢大家的答复。我终于在没有X-SendFile的情况下解决了这个问题(这可能是最佳实践)。无论如何,对于那些无法使X-Sendfile Apache模块正常工作(共享主机)的人,这是一个解决方案:
// Generate response
$response = new Response();
// Set headers
$response->headers->set('Cache-Control', 'private');
$response->headers->set('Content-type', mime_content_type($filename));
$response->headers->set('Content-Disposition', 'attachment; filename="' . basename($filename) . '";');
$response->headers->set('Content-length', filesize($filename));
// Send headers before outputting anything
$response->sendHeaders();
$response->setContent(file_get_contents($filename));
return $response;
希望这可以帮助!