How do I enable mod_deflate for PHP files?

后端 未结 6 1729
鱼传尺愫
鱼传尺愫 2021-01-21 17:17

I have a Liquid Web VPS account, I\'ve made sure that mod_deflate is installed and running/active.

I used to gzip my css and js files via PHP, as well as my PHP files th

相关标签:
6条回答
  • 2021-01-21 17:36

    PHP files usually serves text/html content (although you can also generate images and pretty much everything). PHP files are never sent to the client: it gets processed to generate content (text/html or images). You're looking to gzip this content.

    0 讨论(0)
  • 2021-01-21 17:37

    You need to move your mod_deflate directives outside Directory section. Define your rules globally for mod_deflate in your httpd.conf

    0 讨论(0)
  • 2021-01-21 17:41

    Just in case anyone with the same issue ends up here.

    I turned on mod_deflate on my server. I could see from the response headers in my browser that text, css, and javascript files were being compressed with gzip. Html files were not being compressed according to the headers.

    It turns out it was my virus protection. It was intercepting the incoming HTTP request, and if it saw <html> tags in the response it would decompress it and insert its own javascript into the page as part of its "Web Antivirus". It would strip the gzip header from the response and deliver it uncompressed.

    So, the server was correctly gzipping everything, and my antivirus was unzipping it before it got to me.

    0 讨论(0)
  • 2021-01-21 17:42

    You can add zlib.output_compression = On to your php.ini configuration file. This will compress the output regardless of mod_deflate.

    0 讨论(0)
  • 2021-01-21 17:44

    That whole config is way obsolete. It can and should be deleted now: Netscape 4 hasn't been around for a long time, and setting Vary: User-Agent unnecessarily hinders caching.

    The only mod_deflate config you need is one line to turn deflate on for compressible media types, either using AddOutputFilter to choose compressible files by extension, or AddOutputFilterByType to choose them by returned Content-Type.

    0 讨论(0)
  • 2021-01-21 17:48

    It's been a while since I posted this question - I ended up enabling zlib compression via PHP.ini so zlib compresses PHP output while mod_deflate compresses everything else.

    I'm thinking the reason it wasn't working (mod_deflate wasn't compressing PHP output) has to do with PHP running as CGI and not an Apache DSO...

    0 讨论(0)
提交回复
热议问题