好的,所以我搜索了几页并提出了以下解决方案:
在 .htaccess 中添加这个#Active GZIP for php-files
php_flag zlib.output_compression On
php_value zlib.output_compression_level 5
这是 .js 和 .css 的:
AddHandler application/x-httpd-php .css .js
php_value auto_prepend_file /Library/WebServer/Documents/blog/code/Helpers/ContentHeader.php
它将执行 .js 和 .css 作为 php 脚本。第二行包括以下页面:
<?php
$pathInfo = pathinfo($_SERVER['PHP_SELF']);
$extension = $pathInfo['extension'];
if($extension == "css")
{
header("Content-type: text/css");
}
if($extension == "js")
{
header("Content-type: text/javascript");
}
?>
这会将 header “text/css”发送到 .css 文件,将“text/javascript”发送到 javascript 文件。到目前为止,一切都很好。然而,问题是我使用的几个缩小的 javascript 我得到了某种 php 错误:
<br />
<b>Parse error</b>: syntax error, unexpected ']' in <b>/Library/WebServer/Documents/blog/public/scripts/prettify/prettify.js</b> on line <b>18</b><br />
或:
<br />
<b>Warning</b>: Unexpected character in input: '\' (ASCII=92) state=1 in <b>/Library/WebServer/Documents/blog/public/scripts/showdown.js</b> on line <b>29</b><br />
<br />
<b>Parse error</b>: syntax error, unexpected '?' in <b>/Library/WebServer/Documents/blog/public/scripts/showdown.js</b> on line <b>29</b><br />
那么,有没有更好的方法呢?我能想到的唯一选择是手动进入 .javascript 文件并“更正 php 不喜欢的错误”。但这不应该是一个更简单的解决方案吗?
最佳答案
我们使用 Apache Mod_Deflate并使用此处显示的示例配置。无需破解 PHP 即可运行良好。
关于php - 当我尝试使用 PHP 对 .js 文件进行 GZIP 压缩时,出现了某种与 PHP 相关的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/612628/