我最近将我的 Web 服务器切换到 Centos 6.3,使用 apache 2.2.15、PHP 5.4.11 和 APC 3.1.14。
我开始不时收到客户的投诉,页面无法正常工作,或者出现奇怪的错误。我看到受影响的页面在输出的随机位置有问号和其他奇怪的符号,即使来源是好的。当我更改源文件中的一个字母时,页面开始正常工作。
我怀疑 APC,但我找不到任何线索何时以及为什么会发生这种情况。
我使用 mercurial 将更改推送到生产环境,但我多年来一直使用这种方法没有问题。也许配置中的某些东西现在是新的,但遗憾的是我没有保留我的旧配置。
下面是上次损坏的屏幕截图。
编辑:这是我更改源中的单个字符、保存它,然后撤消文件后的响应(如果我只是重新启动 Web 服务器或清除 APC 操作码缓存):
注意行号不匹配,但它是 100% 相同的请求,所以响应也应该是相同的。第一个屏幕截图中的第 111 行根本不应该存在。似乎它来自另一个源文件......