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

前端之家收集整理的这篇文章主要介绍了php – Minify在源文件更改后返回白页前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
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源,这个客户端不断获得相同的副本,直到我在最后添加了一个版本号,迫使浏览器总是获取一个新文件

猜你在找的PHP相关文章