【问题标题】:takes many refreshes before server side code is updated?在更新服务器端代码之前需要多次刷新?
【发布时间】:2016-07-15 00:32:33
【问题描述】:

我正在使用 Bitnami WAMP 堆栈。每当我在 IDE 中编辑 php 文件时(我使用的是 netbeans,也尝试过 phpstorm),在页面更新之前,浏览器需要刷新 4-5 次。我首先认为这是 Google Chrome 中的缓存问题,但是,我也尝试了禁用历史记录的 Mozilla Firefox。还是一样的问题。

任何想法,可能是什么原因造成的?

P.S:服务器端代码也会发生这种情况。例如。 Laravel 中的控制器。

【问题讨论】:

  • 禁用历史记录不会阻止缓存。刷新页面时尝试 CTRL +F5 或通过 PHP/Apache 设置标题,这将阻止页面被缓存。

标签: php wamp laravel-5.2 bitnami


【解决方案1】:

这里是 Bitnami 开发者,

如果您在 AMP 堆栈上进行开发,您的文件(如 JavaScript 文件)可能会被服务器缓存,即使您修改它们,您的更改也不会被应用。

为了在服务器中禁用缓存并让文件被服务,每次需要禁用OPCache,在PHP中默认启用。

要禁用它,请更改 php.ini 文件中的 opcache.enable 并将其设置为 0 (installdir/php/php.ini)

之后,重启安装服务。

您可以通过以下link了解更多信息。

我希望它有所帮助。 若塔

【讨论】:

  • 嗨 Jota,感谢您的支持,我使用安装在 EC2 上的 Bitnami Wordpress,当我需要调试或做一些测试时,我会根据我的开发 IP 刷新 opcache。您的客户可能也需要它。我已经发布了一段代码。
【解决方案2】:

除了 Jota Martos 的回答之外,如果您想保持 opcache 启用并仅在您的开发环境中刷新它,您可以使用这个:

/** development environment */

if(!function_exists('is_dev_env')){

    function is_dev_env( $dev_ip = '176.136.10.100' ){

        if( $_SERVER['REMOTE_ADDR'] == $dev_ip || ( isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR'] == $dev_ip ) ){

            return true;
        }

        return false;       
    }           
}   

/** flush opcache */

if( is_dev_env() ){

    opcache_reset();
}

176.136.10.100替换为您当前的用户IP

我在我的 EC2 Bitnami Wordpress 安装中使用它,例如 wp-config.php 的开头。

【讨论】:

    【解决方案3】:

    OPCache 会导致它,默认情况下是打开的。继续下去很有用,所以我所做的只是调用“opcache_reset();”在我正在处理的任何文件上,然后在我完成后删除。工作正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-01-16
      • 2016-01-06
      • 1970-01-01
      • 1970-01-01
      • 2012-10-30
      • 2012-07-09
      • 2022-01-11
      相关资源
      最近更新 更多