加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – Minify在源文件更改后返回白页

发布时间:2020-12-13 17:58:37 所属栏目:PHP教程 来源:网络整理
导读:Minify对我来说很好,但在更改其中一个源文件后,我收到一个白色的空白页面.刷新页面不会改变任何内容.没有缓存的刷新(Strg F5)解决了这个问题.在没有缓存的一次刷新之后,我可以通过缓存重新刷新并且它可以工作. URL im调用如下所示: dev/min/min.php/js?type
Minify对我来说很好,但在更改其中一个源文件后,我收到一个白色的空白页面.刷新页面不会改变任何内容.没有缓存的刷新(Strg F5)解决了这个问题.在没有缓存的一次刷新之后,我可以通过缓存重新刷新并且它可以工作.

URL im调用如下所示:

dev/min/min.php/js?type=js&src%5B0%5D=ewOutlibs%2Fjquery.min.js&src%5B1%5D=ewOutlibs%2Fcookie%2Fjquery.cookie.js

min.php

<?php
define('MINIFY_MIN_DIR',dirname(__FILE__));

// load config
require MINIFY_MIN_DIR . '/config.php';

// autoload
require $min_libPath . "/Minify/Loader.php";
Minify_Loader::register();

// caching
Minify::setCache(
    isset($min_cachePath) ? $min_cachePath : '',$min_cacheFileLocking
);

// get files to merge
$aSrc = $_GET['src'];

// replace shortened url with long url
if (isset($_GET['type']) && $_GET['type'] === 'js') {
    $aSrc = str_replace('ewOut','//out/xxx/src/js/',$aSrc);
}

// build array
$aSources = array(
    'files' => $aSrc,'maxAge' => 31536000 // one year
);

try {
    // compress,merge and serve new file
    Minify::serve('Files',$aSources);
} catch (Exception $e) {
    echo $e->getMessage();
}

请求标题:

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip,deflate,sdch
Accept-Language:de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4
Cache-Control:max-age=0
Connection:keep-alive
Cookie:oxidadminprofile=0%40Standard%4010%401; oxidadminlanguage=de; sid_key=oxid; language=0; sid=crlrs8bqg21g6e33arsjq708k4; ZDEDebuggerPresent=php,phtml,php3
Host:dev.teltec
If-Modified-Since:Tue,04 Aug 2015 12:35:59 GMT
If-None-Match:"pub1438691759;gz"
Upgrade-Insecure-Requests:1
User-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/44.0.2403.125 Safari/537.36

响应标题:

HTTP/1.1 304 Not Modified
Date: Tue,04 Aug 2015 12:36:04 GMT
Server: Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/0.9.8o mod_fcgid/2.3.9
Connection: Keep-Alive
Keep-Alive: timeout=5,max=99
ETag: "pub1438691759;gz"
Expires: Wed,03 Aug 2016 12:36:04 GMT
Cache-Control: max-age=31536000
Vary: Accept-Encoding
Set-Cookie: ZDEDebuggerPresent=php,php3; path=/
这是因为服务器和/或浏览器正在缓存它.当源更新时,您使缓存无效,但浏览器认为它仍然被缓存,尝试引用它,显示空白,直到您强制刷新(ctrl F5).解决这个问题的方法是通过“版本”编号使您用来访问它的URL唯一. Microsoft将它与它们的bundle一起使用(如果源文件发生了更改,则哈希值会更改),这会自动告诉浏览器获取它的“新”副本.

我遇到了同样的问题,我提供给一个客户端的XML源,这个客户端不断获得相同的副本,直到我在最后添加了一个版本号,迫使浏览器总是获取一个新文件

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读