Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 在Ubuntu上使ColdFusion不区分大小写_Apache_Ubuntu_Coldfusion_Coldfusion 9_Case Sensitive - Fatal编程技术网

Apache 在Ubuntu上使ColdFusion不区分大小写

Apache 在Ubuntu上使ColdFusion不区分大小写,apache,ubuntu,coldfusion,coldfusion-9,case-sensitive,Apache,Ubuntu,Coldfusion,Coldfusion 9,Case Sensitive,我已经在Ubuntu 12.04上安装了apache2和ColdFusion 9。我已经在Apache中使用了CheckSpelling mod来禁用区分大小写的URL和Apache负责的其他路径 现在,请记住,我正在使用大约4GB的遗留代码(大约6年的时间),并且很少符合约定。我之前的编码人员并不关心大小写敏感度,而是关注应用程序是如何托管在Windows机箱上的。在大多数情况下,ColdFusion与和CreateObject一起运行,但似乎(在代码库中经常使用)仍然区分大小写 现在,我尝试

我已经在Ubuntu 12.04上安装了apache2和ColdFusion 9。我已经在Apache中使用了CheckSpelling mod来禁用区分大小写的URL和Apache负责的其他路径

现在,请记住,我正在使用大约4GB的遗留代码(大约6年的时间),并且很少符合约定。我之前的编码人员并不关心大小写敏感度,而是关注应用程序是如何托管在Windows机箱上的。在大多数情况下,ColdFusion与
CreateObject
一起运行,但似乎
(在代码库中经常使用)仍然区分大小写

现在,我尝试了将代码移动到vfat分区的方法,但是我遇到了一大堆文件名的编码问题(我们与外国公司打交道,得到了很多特殊字符)。删除和/或重命名文件会很麻烦,因为MySQL数据库中也提到了大多数文件,并且必须在那里进行修改。因此,重新编码有点像一场噩梦

所以,我很好奇,在Linux上运行ColdFusion时,是否有任何不区分大小写的特殊标志,或者是否有另一种方法可以使这一切结合在一起

编辑


对不起,我弄错了
cfinvoke
似乎工作正常。我被
cfobject
噎住了,我做了一些研究,这就是我想到的

注意:尽管ColdFusion页面中的标记名不区分大小写,但在UNIX上自定义标记文件名必须为小写

在UNIX系统上,ColdFusion首先搜索名称与指定组件名称匹配但全为小写的文件。如果找不到该文件,它将查找与组件名称完全匹配的文件名,并使用相同的字符大小写

由于
是标准标记,因此标记本身不区分大小写。但是,听起来像是
的所有组件参数都需要小写文件名,以便使用不规则大小写的调用一致成功。我知道你说重构很难,但我想到的是:

如果您有一个专门存放组件的文件夹,那么在该文件夹中运行一个shell脚本,将所有组件重命名为小写(如果您不想每次都被询问是否确定,请删除-i),这很简单:

如果没有将所有组件都放在同一个文件夹中,请从顶部目录中尝试


如果你能试一试,请告诉我

来自CFINVOKE的CF9文档:“在UNIX系统上,ColdFusion首先搜索名称与指定组件名称匹配但全为小写的文件。如果找不到该文件,它将查找与组件名称完全匹配且大小写相同的文件名。”所以基本上文件名不应该是爆炸性的。你能告诉我到底是什么错误吗?可能是路径问题。@Sharondio对不起,我弄错了。它们是
cfobject
stations对于文档,相同的文件搜索过程适用于cfobject。因此,基于此,我将尝试不使用代码,将所有组件的大小写改为小写。+1,以获得合理的答案。我可能最终也会接受。但是,我的经理不允许我将所有文件名更改为小写,因为他发现在CamelCase中读取它们更容易-(我将把它保留在开放状态,以防任何人都能想出一些能让ColdFusion与任何情况相匹配的东西,但如果没有任何事情发生,我会接受的,这是老板说的。工作做得很好
for filename in *.cfc; do
  lowercase =`echo $filename | tr '[:upper:]' '[:lower:]'`
  mv -i $filename $lowercase
done