有一个 Fusebox 5.5.1 应用程序的实时和开发环境。最后一个一切正常。直到一周前,现场版本也正常工作。两者之间的代码没有变化。然后,出现以下错误信息:
cfcatch 标记的上下文验证错误。
该标记必须嵌套在 CFTRY 标记内。
错误发生在:C:/home/domain.com/wwwroot/live/parsed/example.view.cfm
我检查了两个解析文件,并注意到实时版本生成的文件略有不同,尽管程序代码是相同的。
我删除了所有/parsed
文件,并从开发人员进行了全面更新。这没有用。
Fusebox 根据目录生成应用程序名称。当我将目录名称从 更改/live
为 时/livex
,它突然又起作用了。当我恢复原始名称时,错误再次出现。
该错误可能已修复,因为它是由于名称更改而导致的“新”应用程序,并且可能部署了新的或不同的服务器资源?
此外,还有一个问题:
意外的属性 在 fuseaction person.$prefuseaction 的“xfa”动词中发现了意外的属性。
在这种情况下,根本不会创建 / 解析的文件。这是相同的情况,live 和 dev 是相同的,dev 工作和 live 不是。我什至删除了所有xfa
变量,并将它们替换cfset
为文件的 PreFuseAction 区域circuit.xml
。它在 /dev 中仍然有效,但在 /live 中仍然出现同样的错误。
Live 版本现在又回到了生产模式,我将所有/parsed
文件从 dev 复制到 live。现在这对这两个错误都有效,但仅在实时应用程序生成新/parsed
文件之前。
有谁知道那里发生了什么?
这是来自 CF 管理员的一些服务器信息
系统信息/服务器详细信息
- 服务器产品 ColdFusion 2016
- 版本 2016.0.05.303689
- Tomcat 版本 8.5.11.0
- 企业 版
- 操作系统 Windows NT(未知)
- 操作系统版本 10.0
- 更新级别 C:/ColdFusion2016/cfusion/lib/updates/chf20160005.jar
- Adobe 驱动程序版本 5.1.4(内部版本 0001)