Php 通过ftp编辑后的Apache文件缓存

Php 通过ftp编辑后的Apache文件缓存,php,apache,caching,ftp,Php,Apache,Caching,Ftp,我正在经历这种奇怪的行为,在一个共享主机上,我通过FTP连接,当我编辑某个文件(并保存它)时,更改至少需要几分钟才能生效。例如,我把index.php文件中的echo“test”一行放进去;死亡并保存:程序(我正在使用文件zilla)显示该文件已上载到服务器。为了以防万一,我正在做cat index.php(我通过putty连接),我可以看到更改实际上已经完成了。但是,你猜怎么着,当我在浏览器中打开时,它就像以前一样工作(没有显示我的“测试”)。但我只是等了几分钟,然后刷新页面,它显示“测试”。

我正在经历这种奇怪的行为,在一个共享主机上,我通过FTP连接,当我编辑某个文件(并保存它)时,更改至少需要几分钟才能生效。例如,我把
index.php
文件中的
echo“test”一行放进去;死亡并保存:程序(我正在使用文件zilla)显示该文件已上载到服务器。为了以防万一,我正在做
cat index.php
(我通过putty连接),我可以看到更改实际上已经完成了。但是,你猜怎么着,当我在浏览器中打开时,它就像以前一样工作(没有显示我的“测试”)。但我只是等了几分钟,然后刷新页面,它显示“测试”。我删除了浏览器缓存(虽然在这种情况下这并不重要,也尝试通过CTRL+F5刷新页面),但毕竟只有在几分钟后更改生效。同样的事情,当我删除那一行并再次检查它是否被保存时,在几分钟内我仍然看到了回声,而文件中已经没有任何内容了

那么,是否存在这样一种情况,即apache具有某种缓存,因此即使我在物理驱动器中更改文件,它也会使用该文件,并且仅在几分钟后更新缓存


谢谢

我相信如果Varnish设置正确,您可以像这样通过PHP关闭它

header('Pragma: no-cache');
header('Cache-Control: private, no-cache, no-store, max-age=0, must-revalidate, proxy-revalidate');
header('Expires: Tue, 04 Sep 2012 05:32:29 GMT');

正在保存文件,但php脚本未更改

在.htaccess中尝试此操作-可能是因为新的php版本,apc缓存在默认情况下处于打开状态:


php_flag opcache.enable Off

如果执行例如
index.php?a=1
,然后更改文件并执行
index.php?a=2
,会发生什么?(这不是一个解决方案,只是通过它工作)实际上它不会是一个真正的解决方案,因为它不仅仅是关于index.php的,我只是带了一个简单的例子来描述。感谢您提供浏览器收到的标题?执行phpinfo()并通过
1.1查看标题中是否有APC或memcache部分!你应该和你的主持人谈谈如何解决这个问题,谢谢你的帮助,是的,这就是我的想法,谢谢你:)