在更新服务器端代码之前需要多次刷新


takes many refreshes before server side code is updated?

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

有什么想法吗,是什么原因造成的?

p.S:服务器端代码也会出现这种情况。。例如Laravel的控制器。

Bitnami开发者在这里,

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

为了禁用服务器中的缓存并让每次提供的文件都能使用,您需要禁用OPCache,这在PHP中是默认启用的。

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

之后,重新启动安装的服务。

您可以在以下链接中了解更多信息。

我希望它能有所帮助。Jota

除了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();
}

用当前用户IP 替换176.136.10.100

例如,在wp-config.php刚开始的时候,我在EC2 Bitnami Wordpress安装中使用了这个。

OPCache是导致它的原因,默认情况下为打开。坚持下去是有用的,所以我所做的就是打电话给";opcache_reset()"对我正在处理的任何文件,然后在完成后删除。工作良好。