上传的PHP脚本没有刷新
作者:互联网
我确定这是显而易见的事情,但我很困惑.我有一个LAMP服务器(Centos 5.3,PHP 5.3.8),它一直没有问题.我修改并重新上传(通过SFTP)特定的PHP脚本到服务器,但是当我重新加载页面时,旧脚本仍然运行.我可以看到新文件存在,时间戳和大小与新版本匹配,但它总是输出,好像文件没有变化.我甚至尝试用简单的替换它
<?php die('test'); ?>
测试文件,结果相同.这不是浏览器缓存问题(重新加载,不同的浏览器等都显示旧脚本,我可以传入$_GET变量并以旧脚本运行).如果我重命名该文件,它会在新名称下正确呈现(使用新的更改),系统会在原始位置正确抛出404错误.当我将其返回到原始文件名时,它将恢复为旧版本的渲染.我认为这是一个电子加速器问题(运行0.9.6.1)所以我清除了缓存(清空/ var / cache / php-eaccelerator)并重新启动服务器但没有骰子.
还有什么可能导致服务器缓存旧脚本吗?
编辑 – 解决方案!
好吧,不出所料,这最终成为一个应用程序特定的问题,我应该早点想出来.该应用程序设置了一个“自定义覆盖”系统导致问题…基本上使更新变得容易,但也允许客户端自定义,系统设置了一个特殊/自定义/文件夹克隆该文件夹基础应用程序的结构.在服务之前,Apache显然会在自定义结构中检查位置相同的文件,如果存在,则提供服务.基本上,有一个自定义脚本上传到相关目录,该脚本覆盖了我上传到主应用程序目录中的任何文件.显然,有一个重写脚本加载到自定义目录中.
@Dagon,感谢有关禁用eAccelerator的建议.我确信这是我的问题的根源,我没有费心去检查.htaccess.一旦我排除了这一点,我开始更清楚地思考.
解决方法:
这最终成为一个本地化的问题.正如我在问题的编辑中提到的那样,应用程序设置了一个“自定义覆盖”系统,导致问题…基本上使更新变得容易,但也允许客户端自定义,系统设置为一个特殊/自定义/文件夹,用于克隆基本应用程序的文件夹结构.在服务之前,Apache显然会在自定义结构中检查位置相同的文件,如果存在,则提供服务.基本上,有一个自定义脚本上传到相关目录,该脚本覆盖了我上传到主应用程序目录中的任何文件.显然,有一个重写脚本加载到自定义目录中.
标签:php,caching,linux,eaccelerator 来源: https://codeday.me/bug/20190704/1374098.html