ThinkPHP中似乎没有对gzip的配置选项.不过实现起来还是挺简单的. 以下是对ThinkPHP 2,1的修改方法.
首先 要 确定 空间 是否 支持 Zlib, 然后 找 ThinkPHP 的 控制 输出 函数 εξόδου ().
控制 输出 的 文件 在 ThinkPHP / Lib / Σκεφτείτε / Πυρήνας 文件 夹 下, 文件 名 View.class.php.
/ ** + ---------------------------------------------- ------------ * 输出 模板 + ---------------------------------- ------------------------ * @ προστατευμένη πρόσβαση + --------------------- ------------------------------------- * @ $ param εγχόρδων περιεχόμενο 模板 内容 * @ param boolean $ οθόνη 是否 直接 显示 + --------------------------------------------- ------------- * @ επιστροφή μικτά + -------------------------------- -------------------------- * / εξόδου προστατευόμενων λειτουργία ($ περιεχόμενο, $ οθόνη) {αν (Γ («HTML_CACHE_ON ')) HtmlCache: : writeHTMLCache ($ content)? αν ($ οθόνη) {αν (ψευδή == strstr ($ περιεχόμενο, "{} __RUNTIME__»)!) {$ runtime = Γ («SHOW_RUN_TIME '); «<div Id="think_run_time" class="think_run_time"> '$ this-> ShowTime ()» </ span> »:.''.? $ Content = str_replace (" {} __RUNTIME__ », $ το χρόνο εκτέλεσης, $ περιεχόμενο )?} εάν (extension_loaded ("zlib")) {/ / 检查 服务器 是否 开启 了 zlib 拓展 ob_start («ob_gzhandler»)?} ob_start ("συμπίεση")? συμπίεση λειτουργία ($ buffer) {/ / 去除 文件 中的 注释 $ buffer = preg_replace ('', $ buffer "/ * [^ *] ** + ([^ /] [^ *] ** +) * /!")? επιστροφή $ buffer?} echo $ περιεχόμενο? αν (Γ («SHOW_PAGE_TRACE ')) $ this-> showTrace ()? αν (extension_loaded (« zlib ")) {ob_end_flush () ;/ / 输出 ρυθμιστικού 中 的 内容, 即 压缩 后 的 CSS 文件} μηδενική επιστροφή ?} else {$ επιστρέψει περιεχόμενο?}}
