php - 当我尝试使用 PHP 对 .js 文件进行 GZIP 压缩时,出现了某种与 PHP 相关的错误

标签 php javascript .htaccess gzip

好的,所以我搜索了几页并提出了以下解决方案:

在 .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/

相关文章:

javascript - 测试异步/等待方法。 Jest 在单元测试中未捕获异常

php 在 try catch block 中调用 oci_execute

php - 如何在 Codeigniter 中构建 'maintenance mode'?

javascript - document.getElementById 未在 ASP.NET 表单中找到元素

javascript - 如何摆脱弹出页面位置的滚动条?

php - .htaccess 表示 PDF URL

php - Symfony 表单 : customize the setter that is called

php - 如何在 Laravel 中手动捕获错误异常

apache - 组合两个 mod_rewrite 规则

apache - 附加域重定向到主域