Silex アプリケーションで Knp\Snappy\Pdf を使用して pdf を生成しています。ファイル名はランダムで、tmp ディレクトリに保存されます。
$filename = "/tmp/$random.pdf"
$snappy->generate('/tmp/body.html', $filename, array(), true);
応答でpdfを返すと思いますが、
$response = new Response(file_get_contents($filename));
$response->headers->set('Pragma', 'public');
$response->headers->set('Content-Type', 'application/pdf');
return $response;
pdf は Web ブラウザーで正しく表示されます。要求が終了しても、ランダムなファイル名を持つファイルはまだ存在しています。応答を返す前にファイルのリンクを解除できません。register_shutdown_function でシャットダウン関数を登録し、そこからファイルのリンクを解除しようとしました。しかし、それはうまくいかないようです。何か案は?