【问题标题】:Zend Server "Caching" of JS and CSS filesZend 服务器“缓存”JS 和 CSS 文件
【发布时间】:2012-05-27 02:35:51
【问题描述】:

我在 Vitrualbox 上的 CentOS VM 中运行 Zend Server,我遇到了链接 JS 和 CSS 资产被“缓存”的问题。我说“缓存”是因为它们实际上并没有被缓存,而是当我将内容添加到 JS 或 CSS 文件时,它们会损坏并且不会出现更改。相反,该文件附加了一堆坏字符,例如。

layout.phtml(zend 框架模板)

$this->headScript()->appendFile ('/js/admin/product.js', 'text/javascript' );

这会呈现:

<script type="text/javascript" src="/js/admin/product.js"></script>  

products.js

        //re-add scrolling handles
        scrollThumbs.reSortThumbs(ul);
        product.moveFileInput(ul);
    };
};��������������������������������������������������

如果我从 JS 或 CSS 文件中删除内容,则结果是文件不完整,而不是如上所述添加了错误字符。

我已经关闭了所有形式的 Zend 缓存,甚至关闭了 Zend Optimizer。我已经删除了浏览器缓存并尝试了几个浏览器。

我已经 ssh'd 进入服务器并仔细检查了文件,它的格式完美并包含更改。我试过重启 Zend Server (/usr/local/zend/bin/zendctl.sh restart) 和 Apache (service httpd restart)

修复它的唯一方法是重新启动整个操作系统 (reboot)。有趣的是,如果我删除更改,它会恢复正常工作。我只能假设在服务器端某处发生了某种形式的缓存。

【问题讨论】:

    标签: php zend-framework caching zend-studio zend-server


    【解决方案1】:

    这是因为您打开了浏览器缓存并且文件名保持不变。 这可以通过在脚本上使用 md5_file() 并将其保存到 cookie 来避免, 并在每个请求中检查 cookie 是否更改 - 在这种情况下,您将能够管理前端文件更改的情况。

    【讨论】:

    • 我不是这样的。我尝试过对我的 js 和 css 进行版本控制,我也尝试过清除浏览器缓存,但同样的事情发生了。
    【解决方案2】:

    事实证明,这是一个 Virtualbox 共享文件夹问题,而不是与 Zend Server 唯一相关的问题,而是与一般 Apache 相关的问题。

    修复来自Shared folder in VirtualBox for Apache

    EnableSendfile off 添加到您的虚拟主机文件中,例如。

    <VirtualHost *:80>
        DocumentRoot "/mnt/your/shared/dir"
        ServerName Default
    
        <Directory "/mnt/your/shared/dir/public">
            EnableSendfile off
            Options FollowSymLinks
            AllowOverride All
            Order allow,deny
            Allow from all
        </Directory>
    </VirtualHost>
    

    【讨论】:

      【解决方案3】:

      我尝试了EnableSendfile off 的东西,但它在我的带有 ZendServer 的 Centos 虚拟机上不起作用。所以我搬到了我的 ubuntu 虚拟机,手动安装了 apache(没有 ZendServer),它运行良好。在我看来,这是 ZendServer 上的一个问题,至少在 ZendServer 配置上是这样。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-08-13
        • 1970-01-01
        • 2020-01-23
        • 2021-08-07
        • 2011-11-01
        • 2020-06-07
        • 1970-01-01
        • 2016-11-11
        相关资源
        最近更新 更多