【问题标题】:MAMP time between seeing live changes查看实时更改之间的 MAMP 时间
【发布时间】:2013-10-05 10:09:22
【问题描述】:

我正在使用 MAMP 服务器,想知道为什么我对 PHP 文件所做的更改在我刷新页面(在浏览器中)时没有立即显示。有没有办法设置这个? MAMP 上没有缓存设置。要么我必须等待 20 秒,要么停止并重新启动服务器。

【问题讨论】:

  • 我遇到的最接近您的问题的是,在使用 Chrome 时,我的 JS/css 文件不会立即刷新,而是从缓存中提取,除非我明确清除浏览器缓存。 Firefox 往往做得更好(CMD+SHIFT+R 强制重新加载在 FF 中有效,而不是在 Chrome 中)。即使 Chrome 不是您的问题,也可能是缓存问题。 MAMP 提供修改内容的延迟为 0,默认情况下不启用任何奇怪的缓存设置。
  • There are no caching settings on MAMP -- 你确定吗?首选项 -> PHP -> 缓存 -> 选择 '__' -> 确定 -> 重新启动 MAMP。 -> ... -> 利润!
  • 是的,@Amal,我之前找到了该选项,但它设置为空。不过谢谢。而且我已经以隐身方式打开了该站点,以确保浏览器没有缓存。这很奇怪,因为我没有在我的工作 Mac 上遇到过这个问题。 WAMP 在我的电脑上没有同样的问题。
  • 好的,所以当您使用 php 5.5 时会发生此问题,但 5.2 不会发生。什么给了?
  • 如果你愿意,你可以接受我的回答。随着票数的增加,似乎回答了很多人的问题。还是您的问题仍未完全解决?

标签: php macos mamp


【解决方案1】:

接受的答案不适用于更新的 PHP 版本(例如 PHP 7.4),其中 opcache 默认启用。

要禁用 opcache,请编辑位于以下位置的 php.ini 文件(将 php 版本更改为您正在使用的版本):

/Applications/MAMP/bin/php/php7.4.21/conf/php.ini

更改以下行:

;opcache.enable = 1

进入:

opcache.enable = 0

这解决了问题。

【讨论】:

    【解决方案2】:

    卢克的答案是正确的。有一种更简单的方法可以在 Mamp 中禁用缓存(从 6.5 版开始)。

    • 启动 Mamp
    • 点击首选项
    • 在 PHP-Cache 中选择关闭

    【讨论】:

    • 超级简单的解决方案。谢谢!
    【解决方案3】:

    解决方案是取消注释 php.ini 文件中的行,该文件可在 /MAMP Directory/bin/php/php5.5.3/conf/php.ini 中找到

    注释掉 Opcache:

    [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
    

    文档(是的,它从 5.5 开始):

    http://www.php.net/manual/en/intro.opcache.php

    【讨论】:

    • 谢谢。或者只是在 MAMP 的设置中选择一个较低的 php 版本。
    • 当然,如果您不需要 5.5,那将可以工作,因为它从 5.5 开始实施。这个答案适合 5.5 的问题。
    • 我有这个问题,我的 PHP 版本是 5.3。没有您指定的文件夹,也没有 opcache。
    • 问题从 5.5 开始,请参阅:php.net/manual/en/intro.opcache.php 这就是该解决方案适用于 5.5 的原因。如果你有同样的问题,你可能会遇到另一个问题。但首先测试您是否拥有:正确的 PHP.ini 文件(通过更改一些设置(重新加载服务器!)使用 phpinfo() 进行测试)并确认您确定使用 5.3。如果问题仍然存在,您很可能会遇到完全不同的问题因为 opcache 在早期版本中不存在。MAMP 还有一些其他缓存技巧,你的代码可能有一些,所以我会在检查 php.ini 后开始寻找那里。
    • 我刚刚在 10.6.8 下安装了 Mamp 3.4,情况看起来有所不同,因此,完全无知是这样的事情,我不敢即兴发挥。 Mamp 偏好让我可以在 php 5.2.6 和 5.5.6 之间进行选择,并检查后者。缓存已关闭,但让我可以在 APC、Xcache 和 OPcache 之间进行选择。当我在 Smultron 中保存时,我想要 Mamp 重新加载,就像 Cyber​​duck 重新加载网站一样。
    猜你喜欢
    • 2012-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多