上传的PHP脚本未刷新



我确信这是显而易见的,但我很难理解。我有一个LAMP服务器(Centos 5.3,PHP 5.3.8),它一直在工作,没有问题。我修改并重新上传(通过SFTP)了一个特定的PHP脚本到服务器,但当我重新加载页面时,旧的脚本仍然运行。我可以看到新文件在那里,时间戳和大小与新版本匹配,但它总是输出文件,就好像文件没有改变一样。我甚至试着用一个简单的代替它

<?php die('test'); ?> 

测试文件,结果相同。这不是浏览器缓存问题(重新加载、不同的浏览器等都显示旧脚本,我可以传入$_GET变量,它将作为旧脚本运行)。如果我重命名文件,它会在新名称下正确地渲染(有新的更改),并且系统在原始位置正确地抛出404错误。当我将其返回到原始文件名时,它将恢复为旧版本。我认为这是一个电子加速器问题(运行0.9.6.1),所以我清除了缓存(清空了/var/cache/php-eaccelerator)并重新启动了服务器,但没有骰子。

是否有其他原因可能导致服务器缓存旧脚本?

编辑-解决方案

好吧,毫不奇怪,这是一个特定于应用程序的问题,我本应该早点解决。该应用程序是使用导致该问题的"自定义覆盖"系统设置的。。。基本上是为了便于更新,但也允许客户端自定义,该系统设置了一个特殊的/custom/文件夹,该文件夹克隆了基本应用程序的文件夹结构。在提供服务之前,Apache显然会在自定义结构中检查一个位置相同的文件,如果存在,则提供服务。基本上,有一个自定义脚本上传到相关目录,它覆盖了我上传到主应用程序目录的任何文件。显然,有一个重写脚本加载到自定义目录中。

@Dagon,谢谢你建议禁用eAccelerator。我确信这是我问题的根源,所以我没有费心检查.htaccess。一旦我排除了这种可能性,我就开始想得更清楚了。

这最终成为一个本地化问题。正如我在对该问题的编辑中提到的,该应用程序设置了一个"自定义覆盖"系统,导致了该问题。。。基本上是为了使更新变得容易,但也允许客户端自定义,该系统设置了一个特殊的/custom/文件夹,用于克隆基本应用程序的文件夹结构。在提供服务之前,Apache显然会在自定义结构中检查一个位置相同的文件,如果存在,则提供服务。基本上,有一个自定义脚本上传到相关目录,它覆盖了我上传到主应用程序目录的任何文件。显然,有一个重写脚本加载到自定义目录中。

相关内容

  • 没有找到相关文章

最新更新