1

我每天都使用 mamp Pro 在本地测试基于 php 的站点,尽管我是一个简单的设计师,编写 PhP 真的不是我的事。自从我安装 OS X ML 以来,我一直遇到的问题是,当在浏览器中测试站点时,图像似乎缓存了一次,然后永远不会刷新,即使在替换相同的图像或在 PS 中编辑它之后也是如此。

我认为这是 MAMP 的图像缓存问题,因为它发生在所有浏览器中,除非我在刷新页面之前清除缓存。HTML 和 CSS 更新非常好。

不用说,这是一个大问题,因为这意味着我需要做一大堆测试而不是简单的页面刷新。

有人遇到这个问题或可以提供解决方案吗?

4

2 回答 2

5

MAMP 似乎默认启用mod_expires(至少在我的 MAMP 2.1.0 安装中),因此您应该能够在 .htaccess 文件中添加一些适当的设置。

默认立即过期:

 ExpiresActive On
 ExpiresDefault "now"

或者更细化(修改到期以适应您的测试):

 ExpiresActive On
 ExpiresDefault "now"
 ExpiresByType image/gif "access plus 10 seconds"
 ExpiresByType image/jpeg "access plus 10 seconds"
 ExpiresByType image/png "access plus 10 seconds"
 ExpiresByType text/css "access plus 10 seconds"
 ExpiresByType text/javascript "access plus 2 minutes"
 ExpiresByType application/x-javascript "access plus 2 minutes"
 ExpiresByType application/x-shockwave-flash "access plus 10 minutes"
 ExpiresByType text/xml "access plus 5 seconds"

如果出现无效指令的错误,则需要启用mod_expires.

  • 在 MAMP PRO 中,这是在 Server => Apache 选项卡上完成的。确保expires_module检查模块。

  • 在香草 MAMP 中,您可以编辑/Applications/MAMP/conf/apache/httpd.conf. 应该有一个类似于以下内容的注释行:

    # LoadModule expires_module modules/mod_expires.so

    ...删除前导“#”以取消注释。

启用后,mod_expires您需要使用 MAMP 管理界面来停止/启动服务器,并且 Expires 指令现在应该可用。

于 2012-07-28T11:58:34.167 回答
-1

在我禁用缓存之前,我的页面不会刷新。也许它适用于您的图像。如果您使用 php 版本 5.5.3,则在您的 MAMP 首选项中有一个缓存。同样的事情发生在我身上,我在那里找到了解决方案:MAMP time between seen live changes

In your MAMP Dir go to : /bin/php/php5.5.3/conf/php.ini
并评论 Opcahe 行:

[OPcache]
;zend_extension="/Applications/MAMP/bin/php/php5.5.3/lib/php/extensions/no-debug-non-zts-20121212/opcache.so"
;  opcache.memory_consumption=128
;  opcache.interned_strings_buffer=8
;  opcache.max_accelerated_files=4000
;  opcache.revalidate_freq=60
;  opcache.fast_shutdown=1
;  opcache.enable_cli=1
于 2013-10-19T21:59:28.960 回答