侧边栏壁纸
博主头像
伯虔

追求源于热爱,极致源于梦想!

  • 累计撰写 98 篇文章
  • 累计创建 30 个标签
  • 累计收到 4 条评论

目 录CONTENT

文章目录

mamp环境下禁止页面缓存

伯虔
2018-06-03 / 0 评论 / 0 点赞 / 890 阅读 / 898 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-03-28,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

MAMP Pro是一款适用于Mac操作系统的软件。MAMP PRO是专业级版本的经典本地服务器环境的os x软件。MAMP这几个首字母代表苹果的OSX系统上的Macintosh、Apache、MySQL和PHP,顾名思义,你应该知道MAMP的强大功能 啦!MAMP 内含 Apache 服务器、PHP 安装套件以及MySQL安装套件。只要轻松点选就能安装架站/讨论区/论坛必备的元件。透过Web界面稍作设定,在苹果电脑上架设自己专属的网站,就是这 么简单又开心的事情和windows下的XAMPP、WAMP,Linux下的LAMP一样。都是Apache+Mysql+PHP的集成环境。

本地使用MAMP调试的时候,发现代码修改后,没有立即生效,之前以为是浏览器缓存问题,但是在控制台已经勾选了Disable cache,问题还是存在,只能多刷新几次才能生效。之前都没时间解决这个问题,今天周末,一步一步排查,终于找到问题所在,特此分享,也算是个备忘录。

1、测试问题

写了一个简单的语句,方便调试缓存问题。改变x的值发现不是立即生效,和之前遇到的情况一样,说明问题是存在的,不是偶然。

<?php


$x = 10;
if ($x == 10) {
    echo $x;
} else {
    echo "测试";
}

//end

2、逐步排查

2.1浏览器缓存

打开浏览器开发者工具,勾选Disable cache,重新测试,发现还是无效,与浏览器缓存无关。

2.2 mamp中PHP默认的缓存组件

以上都排查完了,想一想还有什么会导致这样的问题,应该是其他缓存组件,例如:eAccelerator、memcached、xcache、APC,看了下mamp的php.ini配置文件,找到了原因:

opcache.revalidate_freq=60

这个参数的作用:一定时间内检查文件的修改时间,这里设置检查的时间周期,单位为秒,mamp默认为60秒,所以才会导致修改代码后不立即生效的。

具体修改位置:
91_cachedisabled01.png

选择对应的PHP版本后修改,我的是PHP5.6.30,把 opcache.revalidate_freq的参数值修改为1:
91_cachedisabled02.png

0

评论区