缓存和压缩动态生成的javascript

时间:2013-01-25 06:50:47

标签: php

我正在使用php根据不同的条件动态生成javascript。我希望浏览器能够在特定的时间内缓存它。

我使用以下代码进行缓存,但似乎无法正常工作。

header("Content-type: text/javascript; charset: UTF-8");
header("Cache-Control: must-revalidate");
$offset = 60 * 60 ;
$ExpStr = gmdate("D, d M Y H:i:s", time() + $offset) . " GMT";
header($ExpStr);

此外,js文件相当大,约290 KB,所以我想将其压缩到浏览器以减少下载时间。有什么建议吗?

1 个答案:

答案 0 :(得分:3)

您忘记了过期标题名称,因此该行

$ExpStr = gmdate("D, d M Y H:i:s", time() + $offset) . " GMT";

应该是

$ExpStr = "Expires: " . gmdate("D, d M Y H:i:s", time() + $offset) . " GMT";

// output your js file here

要压缩输出,请在PHP.ini中取消注释(或添加,如果不存在)以下行。放气或压缩输出。修改PHP.ini

后,不要忘记重新启动服务器
output_handler = ob_gzhandler