2012-07-26 25 views
1

我每天使用mamp Pro来测试本地的基于php的网站,虽然我是一个简单的设计师并且写PhP真的不是我的东西。 我安装OS X ML后一直存在的问题是,当在浏览器中测试网站时,图像似乎只缓存一次,即使在替换相同图像或在PS中编辑后也不会刷新。MAMP Pro图像在山顶上不会令人耳目一新

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

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

任何人有这个问题或可以提供解决方案?

回答

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,这是在服务器上进行=> Apache的标签..确保expires_module模块进行检查。

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

    #的LoadModule expires_module模块/ mod_expires.so

    ...去掉开头的 “#” 取消注释。

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

+0

嘿,谢谢你的详细回复。 mod_expires当然是启用的(使用mamp pro在mamp目录中的htdocs文件夹)。 我不确定如何在mamp中创建一个.htaccess文件,但是你能告诉我该怎么做? – andy 2012-07-28 17:33:31

+0

@andy:[点文件](http://en.wikipedia.org/wiki/Dot_files)喜欢'。htaccess'在Finder中默认隐藏,所以最简单的创建方法是使用[Terminal](http://en.wikipedia.org/wiki/Terminal_(OS_X))。开始一个新的终端会话,切换到您的Web文档的顶级目录,并使用'nano .htaccess'创建/编辑。或者,您可以将Expires *指令添加到您的'httpd.conf'中(编辑'/ Applications/MAMP/conf/apache/httpd.conf'并直接添加或作为[Include指令](httpd // httpd。 apache.org/docs/current/mod/core.html#include))。 – Stennie 2012-07-28 21:10:51

+0

因此,我添加了ExpiresActive在 ExpiresDefault“now” 在httpd.conf文件的底部,问题依然存在(必须保存cmd + R和垃圾邮件才能显示更改)。 对不起,但我不知道如何使用终端,我不太了解.htaccess,也许我做错了? – andy 2012-07-29 09:23:11

0

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

在你的MAMP导演去:/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 
相关问题