我每天都使用mamp Pro在本地测试基于php的网站,尽管我是一个简单的设计师,写php真的不是我的专长。自从我安装OS X ML以来,我一直遇到的问题是,当在浏览器中测试网站时,图像似乎缓存了一次,然后再也不会刷新,即使在替换相同的图像或在PS中编辑后也是如此。
我认为这是MAMP的图像缓存问题,因为它在所有浏览器中都会发生,除非我在刷新页面之前清除缓存。HTML和CSS的更新非常好。
不用说,这是一个巨大的问题,因为这意味着我需要做一大堆测试,而不是简单的页面刷新。
有人有这个问题或者可以提供解决方案吗?
MAMP默认情况下(至少在我的MAMP 2.1.0安装中)似乎启用了mod_expires,因此您应该能够在.htaccess文件中添加一些适当的设置。
默认立即到期:
ExpiresActive On
ExpiresDefault "now"
或者更细粒度(修改expiries以适合您的测试):
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 modules/mod_expires.so
删除要取消注释的前导"#"。
启用mod_expires
后,您需要使用MAMP管理界面来停止/启动服务器,并且Expires指令现在应该可用。
在mamp上,只有禁用缓存,我的页面才会刷新。也许这对你的照片有用。如果您使用的是php版本5.5.3,则在您的MAMP首选项中有一个缓存。同样的事情也发生在我身上,我在那里找到了解决方案:看到实时变化之间的MAMP时间
在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