在源文件更改后缩小返回白页

时间:2015-08-04 12:33:17

标签: php minify

Minify对我来说很好,但在更改其中一个源文件后,我收到一个白色的空白页面。刷新页面不会改变任何内容。没有缓存的刷新(Strg + F5)解决了这个问题。在没有缓存的一次刷新之后,我可以通过缓存重新刷新它并且它可以工作。

URL im调用如下所示:

  

开发/分钟/ min.php / JS类型= 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,phtml,php3; path=/

2 个答案:

答案 0 :(得分:1)

这是因为服务器和/或浏览器正在缓存它。当源更新时,您使缓存无效,但浏览器认为它仍然缓存,尝试引用它,显示空白,直到您强制刷新(ctrl + F5)。解决这个问题的方法是通过&#34;版本&#34;使用来访问它的URL是唯一的。数。 Microsoft将它与它们的捆绑包一起使用(如果源文件发生了更改,则哈希值会更改),这会自动告诉浏览器获取&#34; new&#34;它的副本。

我遇到了同样的问题,我提供给我一直收到相同副本的XML客户端,直到我最后添加了一个版本号,迫使浏览器始终获取新文件

答案 1 :(得分:1)

舞台系统上的tmp目录不可写,因此Minify无法缓存文件并返回白页。愚蠢的错误。 本地工作正常,因为tmp目录按预期工作。